├── .gitignore ├── images ├── typical_arena.jpg ├── container_bowl.png ├── container_tray.png ├── logo_RoboCupFed.jpg ├── typical_objects.jpg ├── logo_RoboCupAtHome.jpg ├── logo_rcbrazilhome.png └── container_paper_bag.png ├── setup_tex ├── active_version.tex ├── packages_scoresheets.tex ├── styles │ └── tweaklist.sty ├── styling.tex ├── macros_open_demonstrations.tex ├── abbrevix.ist ├── config.tex ├── packages.tex ├── macros_leagues.tex ├── abbrevix.tex └── macros.tex ├── LICENSE ├── chapters ├── appendices │ ├── Appendices.tex │ └── example_skills.tex ├── introduction │ ├── Competition.tex │ ├── Makefile │ ├── Organization.tex │ ├── Leagues.tex │ ├── Infrastructure.tex │ ├── Introduction.tex │ └── Awards.tex ├── general_rules │ ├── AudienceInteraction.tex │ ├── Makefile │ ├── arena_decorations.tex │ ├── GeneralRules.tex │ ├── OpenChallenge.tex │ ├── Robots-SPL.tex │ ├── Robots.tex │ ├── Robots-OPL.tex │ ├── ExternalDevices.tex │ ├── PenaltiesBonuses.tex │ ├── ContinueRules.tex │ ├── TeamRegistration.tex │ ├── Organization.tex │ ├── Procedure.tex │ └── Scenario.tex ├── concepts │ └── CompetitionConcepts.tex └── Setup.tex ├── Makefile ├── titlepage.tex ├── acknowledgments.tex ├── Rulebook.tex ├── README.md ├── registration_form.tex ├── tasks ├── LARC_CleanUp.tex ├── LARC_Take Out the Garbage.tex ├── LARC_Receptionist.tex ├── LARC_Object.tex ├── LARC_Speech.tex ├── LARC_WhereIsThis.tex ├── LARC_People.tex ├── LARC_navigation.tex ├── LARC_CleanTheTable.tex ├── LARC_GPSR.tex ├── LARC_CarryMyLuggage.tex ├── LARC_Restaurant.tex └── LARC_Final.tex ├── Local_chair_instructions.tex └── LICENSE.GPL-2.0 /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | !build/*.pdf 3 | .temp_rulebook_date 4 | .temp_rulebook_version 5 | 6 | -------------------------------------------------------------------------------- /images/typical_arena.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/typical_arena.jpg -------------------------------------------------------------------------------- /images/container_bowl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/container_bowl.png -------------------------------------------------------------------------------- /images/container_tray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/container_tray.png -------------------------------------------------------------------------------- /images/logo_RoboCupFed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/logo_RoboCupFed.jpg -------------------------------------------------------------------------------- /images/typical_objects.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/typical_objects.jpg -------------------------------------------------------------------------------- /images/logo_RoboCupAtHome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/logo_RoboCupAtHome.jpg -------------------------------------------------------------------------------- /images/logo_rcbrazilhome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/logo_rcbrazilhome.png -------------------------------------------------------------------------------- /images/container_paper_bag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RoboCupAtHomeLatinAmerica/RuleBook/HEAD/images/container_paper_bag.png -------------------------------------------------------------------------------- /setup_tex/active_version.tex: -------------------------------------------------------------------------------- 1 | \newcommand{\YEAR}{2025} 2 | % \newcommand{\STATE}{Draft} 3 | \newcommand{\STATE}{Final} 4 | % 5 | % Local Variables: 6 | % TeX-master: "../Rulebook" 7 | % End: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The content of this project itself is licensed under the Creative Commons 2 | Attribution Share Alike 4.0 International license, and the underlying source code 3 | used to format and display that content is licensed under the GPL v2 license. 4 | -------------------------------------------------------------------------------- /chapters/appendices/Appendices.tex: -------------------------------------------------------------------------------- 1 | \begin{appendices} 2 | \renewcommand*{\chapterformat}{\LARGE{Appendix \thechapter}} 3 | \renewcommand{\chaptermark}[1]{\markboth{\appendixname \ \thechapter. \ #1}{}} 4 | 5 | \input{pages/example_skills} 6 | \newpage 7 | \input{general_rules/arena_decorations.tex} 8 | 9 | \end{appendices} 10 | 11 | \renewcommand*{\chapterformat}{\LARGE{Chapter \thechapter}} 12 | \renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter. \ #1}{}} 13 | 14 | % Local Variables: 15 | % TeX-master: "Rulebook" 16 | % End: 17 | -------------------------------------------------------------------------------- /chapters/introduction/Competition.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction - Competition 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \section{Competition} 8 | The competition consists of Two \emph{Stages}. 9 | and the \FINAL{}. 10 | Each stage comprises a series of \iterm{Tests}. 11 | % The best teams from \SONE{} advance to \STWO{} with more difficult tests. 12 | The competition ends with the \FINAL{}. 13 | % where The two highest ranked teams of each league compete to win. -------------------------------------------------------------------------------- /chapters/general_rules/AudienceInteraction.tex: -------------------------------------------------------------------------------- 1 | \section{Audience Interaction} 2 | \label{sec:rules:audience} 3 | Some tests require direct interaction with the audience. In order to make all tests more appealing (see \ref{sec:concepts:appeal}) and engaging, informing the audience about what is happening is important. 4 | 5 | % \subsection{Visualization} 6 | % \label{sec:rules:audience:visualization} 7 | % All scenarios will have a screen, visible to the audience, that the teams can use to display, e.g., a robot's state, world model, and current plan. An example of such a visualization is the \VizBox{} by Loy van Beek (\url{https://github.com/LoyVanBeek/vizbox}). Using and enhancing the capabilities of the \VizBox{} or developing another open source visualization is greatly appreciated and considered a contribution to the \RoboCup\AtHome{} community. -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # === Install dependencies === 2 | # SHELL := /bin/bash 3 | 4 | # install texlive in a first place 5 | .PHONY: install_texlive 6 | install_texlive: 7 | 8 | @echo "Installing texlive ..." 9 | @apt update -qq 10 | @apt install -qq -y texlive* 11 | @echo "Done." 12 | 13 | .PHONY: rulebook 14 | rulebook: file=Rulebook 15 | rulebook: 16 | @pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error -output-directory=build ${file}.tex 17 | @makeglossaries -d build ${file} 18 | @biber build/${file} 19 | @makeindex build/${file}.idx 20 | @pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error -output-directory=build ${file}.tex 21 | 22 | .PHONY: instructions 23 | instructions: file=Local_chair_instructions 24 | instructions: 25 | pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error -output-directory=build ${file}.tex 26 | 27 | .PHONY: all 28 | all: rulebook instructions 29 | 30 | -------------------------------------------------------------------------------- /chapters/general_rules/Makefile: -------------------------------------------------------------------------------- 1 | SILENT = @ 2 | 3 | all: 4 | $(SILENT) make -C .. 5 | 6 | 7 | dofullpdf: 8 | $(SILENT) make dofullpdf -C .. 9 | 10 | dopdflatex: 11 | $(SILENT) make dopdflatex -C .. 12 | 13 | dopdf2ps: 14 | $(SILENT) make dopdf2ps -C .. 15 | 16 | dobibtex: 17 | $(SILENT) make dobibtex -C .. 18 | 19 | domakeidx: 20 | $(SILENT) make domakeidx -C .. 21 | 22 | domakeadx: 23 | $(SILENT) make domakeadx -C .. 24 | 25 | wall: 26 | $(SILENT) make wall: -C .. 27 | 28 | warntex: 29 | $(SILENT) make warntex -C .. 30 | 31 | warn2do: 32 | $(SILENT) make warn2do -C .. 33 | 34 | warnspell: 35 | $(SILENT) make warnspell -C .. 36 | 37 | summary: 38 | $(SILENT) make summary -C .. 39 | 40 | clean: 41 | $(SILENT) make clean -C .. 42 | 43 | dirk: 44 | $(SILENT) make dirk -C .. 45 | 46 | mauBuild: 47 | $(SILENT) make mauBuild -C .. 48 | 49 | mauClean: 50 | $(SILENT) make mauClean -C .. 51 | 52 | mauCleanAll: 53 | $(SILENT) make mauCleanAll -C .. 54 | -------------------------------------------------------------------------------- /chapters/introduction/Makefile: -------------------------------------------------------------------------------- 1 | SILENT = @ 2 | 3 | all: 4 | $(SILENT) make -C .. 5 | 6 | 7 | dofullpdf: 8 | $(SILENT) make dofullpdf -C .. 9 | 10 | dopdflatex: 11 | $(SILENT) make dopdflatex -C .. 12 | 13 | dopdf2ps: 14 | $(SILENT) make dopdf2ps -C .. 15 | 16 | dobibtex: 17 | $(SILENT) make dobibtex -C .. 18 | 19 | domakeidx: 20 | $(SILENT) make domakeidx -C .. 21 | 22 | domakeadx: 23 | $(SILENT) make domakeadx -C .. 24 | 25 | wall: 26 | $(SILENT) make wall: -C .. 27 | 28 | warntex: 29 | $(SILENT) make warntex -C .. 30 | 31 | warn2do: 32 | $(SILENT) make warn2do -C .. 33 | 34 | warnspell: 35 | $(SILENT) make warnspell -C .. 36 | 37 | summary: 38 | $(SILENT) make summary -C .. 39 | 40 | clean: 41 | $(SILENT) make clean -C .. 42 | 43 | dirk: 44 | $(SILENT) make dirk -C .. 45 | 46 | mauBuild: 47 | $(SILENT) make mauBuild -C .. 48 | 49 | mauClean: 50 | $(SILENT) make mauClean -C .. 51 | 52 | mauCleanAll: 53 | $(SILENT) make mauCleanAll -C .. 54 | -------------------------------------------------------------------------------- /setup_tex/packages_scoresheets.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: packages_scoresheets.tex 385 2013-02-12 21:53:10 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: List of packages for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \usepackage[utf8x]{inputenc} 9 | \usepackage[english]{babel} 10 | \usepackage{calc} 11 | \usepackage{ifthen} 12 | \usepackage{pgffor} 13 | \usepackage{xspace} 14 | \usepackage{environ} 15 | \usepackage{wasysym} 16 | \usepackage{tabularx} 17 | \usepackage{multicol} 18 | \usepackage{multirow} 19 | 20 | % Used by macros.tex 21 | \usepackage{chngpage} 22 | \usepackage{csquotes} 23 | \usepackage{enumerate} 24 | \usepackage{fancyhdr} 25 | \usepackage{graphicx} 26 | \usepackage{hyperref} 27 | \usepackage{paralist} 28 | 29 | % Hack to avoid importing makeidx 30 | \newcommand{\see}{} -------------------------------------------------------------------------------- /chapters/general_rules/arena_decorations.tex: -------------------------------------------------------------------------------- 1 | \chapter{Arena decorations} 2 | \label{chap:arena-decorations-appendix} 3 | The following is a list or suggestions, not strict requirements, for decorating a RoboCup@Home arena: 4 | \begin{itemize} 5 | \item Side table 6 | \item Table lamp 7 | \item Bowl 8 | \item Vase 9 | \item Plant 10 | \item Table runner 11 | \item Coffee/tea maker 12 | \item Pillows in various colors 13 | \item Mirror 14 | \item Paintings 15 | \item Posters 16 | \item World map 17 | \item Towels 18 | \item Towelhangers 19 | \item Closet/shelf 20 | \item Standing lamp 21 | \item Bedspread 22 | \item Basket with lid 23 | \item (Storage)Basket 24 | \item Serving tray 25 | \item Cups 26 | \item Mugs 27 | \item (Wine)Glasses 28 | \item Plates 29 | \item Cutlery 30 | \item Various utensils 31 | \item Picture frames 32 | \item Wallclock 33 | \item Bedside alarm clock 34 | \item Candles with holders 35 | \item Books 36 | \end{itemize} 37 | -------------------------------------------------------------------------------- /titlepage.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: titlepage.tex 428 2013-04-30 10:01:14Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Title page for the RoboCupAtHome RuleBook 6 | %% 7 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \begin{titlepage} 9 | \begin{center} 10 | { 11 | \includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg} 12 | \hfill 13 | \includegraphics[width=.23\textwidth]{images/logo_rcbrazilhome.png}\\ 14 | [1.23ex] 15 | } 16 | \vspace{2.7 cm} 17 | \hrulefill\par 18 | {% 19 | \vspace*{.27cm} 20 | \Huge{RoboCup Brazil Open}\\[1.23ex] 21 | \Huge{RoboCup@Home}\\[1.23ex] 22 | \Large Rules \& Regulations \\[2ex] 23 | } 24 | \hrulefill\par 25 | \vfill 26 | ~~ Version: \YEAR 27 | % ~~Rev-\svnRevision ~~ \\ 28 | ~~ Last Build Date: \today \quad 29 | % ~~ Time: \the\time ~~ \\ 30 | % ~~ Last Revision Date: \svnChangeData ~~ %\\ 31 | %\vfill 32 | \end{center} 33 | \end{titlepage} 34 | % Local Variables: 35 | % TeX-master: "../Rulebook" 36 | % End: 37 | -------------------------------------------------------------------------------- /chapters/introduction/Organization.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction - Organization 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \section{Organization} 8 | \label{sec:introduction:organization} 9 | % \AtHome{} is organized into three subcommittees. Current members are listed at: 10 | % \url{https://athome.robocup.org/committees/}. 11 | 12 | \paragraph{Executive Committee} 13 | \label{sec:introduction:ec} 14 | The \EC{} consists of members of the board of trustees and representatives of each activity area. 15 | 16 | \paragraph{Technical Committee} 17 | \label{sec:introduction:tc} 18 | The \TC{} is responsible for the rules of the league. Main focus is writing the rulebook and refereeing. 19 | Members of the \EC{} are always members of the \TC{} as well. 20 | 21 | \paragraph{Organizing Committee} 22 | \label{sec:introduction:oc} 23 | The \OC{} is responsible for the organization of the competition. They create the schedule and provide information about the scenario. 24 | % The \LOC{} is responsible for the set up and organization of the venue. 25 | -------------------------------------------------------------------------------- /setup_tex/styles/tweaklist.sty: -------------------------------------------------------------------------------- 1 | \def\enumhook{} 2 | \def\enumhooki{} 3 | \def\enumhookii{} 4 | \def\enumhookiii{} 5 | \def\enumhookiv{} 6 | \def\itemhook{} 7 | \def\itemhooki{} 8 | \def\itemhookii{} 9 | \def\itemhookiii{} 10 | \def\itemhookiv{} 11 | \def\descripthook{} 12 | \def\enumerate{% 13 | \ifnum \@enumdepth >\thr@@\@toodeep\else 14 | \advance\@enumdepth\@ne 15 | \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 16 | \expandafter 17 | \list 18 | \csname label\@enumctr\endcsname 19 | {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}% 20 | \enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname}% 21 | \fi} 22 | \def\itemize{% 23 | \ifnum \@itemdepth >\thr@@\@toodeep\else 24 | \advance\@itemdepth\@ne 25 | \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 26 | \expandafter 27 | \list 28 | \csname\@itemitem\endcsname 29 | {\def\makelabel##1{\hss\llap{##1}}% 30 | \itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname}% 31 | \fi} 32 | \renewenvironment{description} 33 | {\list{}{\labelwidth\z@ \itemindent-\leftmargin 34 | \let\makelabel\descriptionlabel\descripthook}} 35 | {\endlist} 36 | 37 | -------------------------------------------------------------------------------- /chapters/general_rules/GeneralRules.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: general_rules.tex 420 2013-04-08 15:30:35Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: description of the GENERAL RULES 6 | %% 7 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \chapter{General Rules \& Regulations} 9 | \label{chap:rules} 10 | 11 | These are the general rules and regulations for the competition in the \RoboCup\AtHome{} league. 12 | They apply to every test unless a test description differs, in which case it overrides the general rule. 13 | 14 | \input{chapters/general_rules/TeamRegistration} 15 | 16 | \input{chapters/general_rules/AudienceInteraction} 17 | 18 | \input{chapters/general_rules/Scenario} 19 | 20 | % \input{general_rules/Robots} 21 | 22 | \input{chapters/general_rules/ExternalDevices} 23 | 24 | \input{chapters/general_rules/Organization} 25 | 26 | \input{chapters/general_rules/Procedure} 27 | 28 | \input{chapters/general_rules/ContinueRules} 29 | 30 | % \input{general_rules/PenaltiesBonuses} 31 | 32 | % \input{general_rules/OpenChallenge} 33 | 34 | % Local Variables: 35 | % TeX-master: "Rulebook" 36 | % End: 37 | -------------------------------------------------------------------------------- /setup_tex/styling.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: styling.tex 2019-01-08 09:00:00 kyordhel $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Styling for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | 9 | 10 | %%% HEADINGS & PAGE STYLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 | \newcommand{\footline}{RoboCup@Home Rulebook / \rulebookVersion} 12 | \pagestyle{fancy} 13 | \renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter. \ #1}{}} 14 | \renewcommand{\sectionmark}[1]{\markright{\thesection \ #1}{}\renewcommand{\currentTest}{#1}} 15 | \fancyhf{} 16 | \fancyhead[LE,RO]{\thepage} 17 | \fancyhead[RE]{\sffamily\rightmark} 18 | \fancyhead[LO]{\sffamily\leftmark} 19 | \fancyfoot[C]{\scriptsize \sffamily \footline{}} 20 | \fancypagestyle{plain}{ 21 | \fancyhf{} 22 | \fancyhead[LE,RO]{\thepage} 23 | \fancyhead[RE]{\sffamily\rightmark} 24 | \fancyhead[LO]{\sffamily\leftmark} 25 | \fancyfoot[C]{\scriptsize \sffamily \footline{}} 26 | \renewcommand{\headrulewidth}{0.5 pt} 27 | } 28 | \fancypagestyle{empty}{ 29 | \fancyhf{} 30 | \fancyhead{} 31 | \fancyfoot[C]{\scriptsize \sffamily \footline{}} 32 | \renewcommand{\headrulewidth}{0 pt} 33 | } -------------------------------------------------------------------------------- /chapters/introduction/Leagues.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction - Leagues 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \section{Leagues} 8 | \label{sec:introduction:leagues} 9 | 10 | \AtHome{} is divided in three leagues. Two are \SPLs{} where each team uses the same robot platform and an \OPL{} where teams are free to choose their robot. The official leagues and their names are: 11 | \begin{itemize} 12 | \item \DSPL{} 13 | \item \SSPL{} 14 | \item \OPL{} 15 | \end{itemize} 16 | 17 | \noindent All leagues share the same set of rules. The \DSPL{} uses the \HSR{} platform shown in figure \ref{fig:toyotaHSR} and the \SSPL{} uses the \PEPPER{} platform shown in figure \ref{fig:softbank-pepper}. 18 | 19 | \begin{minipage}{0.5\textwidth} 20 | \begin{figure}[H] 21 | \begin{center} 22 | \includegraphics[height=0.6\textwidth]{images/toyota_hsr.png} 23 | \caption{Toyota HSR} 24 | \label{fig:toyotaHSR} 25 | \end{center} 26 | \end{figure} 27 | \end{minipage} 28 | \begin{minipage}{0.5\textwidth} 29 | \begin{figure}[H] 30 | \begin{center} 31 | \includegraphics[height=0.6\textwidth]{images/softbank_pepper.png} 32 | \caption{Softbank / Aldebaran Pepper} 33 | \label{fig:softbank-pepper} 34 | \end{center} 35 | \end{figure} 36 | \end{minipage} -------------------------------------------------------------------------------- /chapters/general_rules/OpenChallenge.tex: -------------------------------------------------------------------------------- 1 | \section{Open Challenge} 2 | \label{sec:rules:openchallenge} 3 | 4 | On the first two competition days after the regular test blocks ended, there will be an opportunity for teams to present an open challenge in which teams can demonstrate their novel research and approaches. 5 | 6 | \subsection{Procedure} 7 | \label{sec:rules:ocprocedure} 8 | \begin{enumerate} 9 | \item \textbf{Participation:} Teams have to announce whether they want to perform an open challenge to the \abb{OC} during \SetupDays{}. 10 | \item \textbf{Time:} Each team gets a 10 minute time slot of which 8 minutes are for presenting and 2 minutes for questions by the audience. 11 | \item \textbf{Arena Changes:} The team can rearrange the arena when their time slot starts but all changes need to be reverted as soon as their time slot ends. 12 | \item \textbf{Focus:} While the demonstrations are intended to share research insights, we still want to see robots performing. Do not turn the open challenge into an academic lecture. 13 | \item \textbf{Leagues:} Ideally, all \AtHome{} leagues' open challenges will be scheduled consecutively, to give the opportunity to watch all open challenges. In case there are more than 12 participants across leagues, each league will hold their open challenge concurrently. 14 | \item \textbf{Award:} Participating teams are eligible to receive the \OCAward{} (see \ref{sec:introduction:ocaward}). 15 | \end{enumerate} 16 | -------------------------------------------------------------------------------- /acknowledgments.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: acknowledgments.tex 404 2013-02-15 08:51:20Z sugiura $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Acknowledgments for the RoboCupAtHome RuleBook 6 | %% 7 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | 9 | 10 | \section*{About this Rulebook} 11 | This is the official rulebook of the \AtHome{} competition for the RoboCup Brazil Open Competition \YEAR. 12 | 13 | It has been written based on the official RoboCup@home rulebook (\url{https://github.com/RoboCupAtHome/RuleBook/}). 14 | 15 | \section*{Committee Members for \YEAR} 16 | \begin{itemize} 17 | \item \textbf{Executive Committee:} \\ Fagner de Assis Moura Pimentel $$ 18 | \item \textbf{Technical and Organizing Committee:} \\ 19 | Ana Patricia Magalhães (UNEB/UNIFACS) \\ 20 | Pedro Edom Nunes (FURG) \\ 21 | Gabriela Bassegio (FEI) \\ 22 | Gustavo Fardo Armênio (UTFPR) \\ 23 | Alexandre Costa (UFG) \\ 24 | Rhayna Christiani Vasconcelos Marques Casado (USP) 25 | \end{itemize} 26 | 27 | \section*{Acknowledgments} 28 | \label{sec:acknowledgments} 29 | 30 | We would like to thank all the people who contributed to the \AtHome{} league with their feedback and comments. 31 | 32 | \vfill 33 | 34 | \section*{License} 35 | 36 | \doclicenseThis 37 | 38 | -------------------------------------------------------------------------------- /chapters/general_rules/Robots-SPL.tex: -------------------------------------------------------------------------------- 1 | \subsection{Standard Platform Leagues} 2 | \label{sec:rules:robotappearance_spl} 3 | For Robots competing in a \SPL{}, modifications and alterations to the robots are strictly forbidden. This includes, but is not limited to, attaching, connecting, plugging, gluing, and taping components into and onto the robot, as well as, modifying or altering the robot structure. Not complying with this rule, leads to an immediate disqualification and penalization of the team (see~\ref{sec:rules:penaltiesbonuses}). 4 | 5 | Robots are allowed to \enquote{wear} clothes, have stickers (e.g., a sticker exhibiting the logo of a sponsor), and be painted as long as they are compliant with section \ref{sec:rules:robotappearance}. 6 | 7 | \subsubsection{DSPL Modifications} 8 | \label{sec:rules:mountingbracket} 9 | In the \DSPL{}, some modifications to the \HSR{} are allowed. An official \MountingBracket{} is provided by Toyota for the \HSR{}. Any laptop fitting inside the \MountingBracket{} can be used as additional on board computing. Furthermore, teams are allowed to attach the following devices to the robot or the laptop in the \MountingBracket{}: 10 | \begin{enumerate} 11 | \item \textbf{Audio:} USB audio output device, e.g. USB-powered speaker, possibly with sound card. 12 | \item \textbf{Wi-Fi Adapter:} USB-powered IEEE 802.11ac (or newer) compliant device. 13 | \item \textbf{Ethernet Switch:} USB-powered IEEE 802.3ab (or newer) compliant device. 14 | \end{enumerate} 15 | 16 | \noindent A maximum of three such devices can be attached, they cannot increase the robot's dimension. -------------------------------------------------------------------------------- /setup_tex/macros_open_demonstrations.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: macros_open_demonstrations.tex 391 2013-02-14 07:57:07Z sugiura $ 4 | %% author(s): holz 5 | %% description: simple macros for specifications of open challenges 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | 9 | \newcommand{\OpenDemonstrationTask}[2] { 10 | \begin{enumerate}% 11 | \item \textbf{Setup:} The team has a maximum of 1 minute for setup.% 12 | \item \textbf{Pitch and demonstration:} The team has a maximum of \timing{#1 minutes} for pitch and demonstration.% 13 | \item \textbf{Interview and cleanup:} After the demonstration, there is 14 | another \timing{#2 minutes} where the team answers % 15 | questions by the jury members.\\% 16 | During the interview time, the team has to undo its changes to the environment.% 17 | \end{enumerate}% 18 | } 19 | 20 | \newcommand{\OpenDemonstrationChanges}{ 21 | \subsection{Changes to the environment} 22 | \begin{enumerate} 23 | \item \textbf{Making changes:} As in the other open demonstrations, teams are allowed to make modifications to the arena as they like, 24 | but under the condition that they are reversible. 25 | \item \textbf{Undoing changes:} In the interview and cleanup team, changes need to be made undone by the team. 26 | The team has to leave the arena in the \emph{very same} condition they entered it. 27 | \end{enumerate} 28 | } 29 | % Local Variables: 30 | % TeX-master: "../Rulebook" 31 | % End: 32 | -------------------------------------------------------------------------------- /chapters/general_rules/Robots.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{Robots} 3 | \label{sec:rules:robots} 4 | 5 | \subsection{Number of Robots} 6 | \label{sec:rules:robotsnumber} 7 | 8 | \begin{itemize} 9 | \item \textbf{Registration:} The maximum number of robots used in tests per team is \emph{two} (2). 10 | \item \textbf{Regular Tests:} Only one robot is allowed per test run. For different test runs, different robots can be used. 11 | \item \textbf{Open Demonstrations:} In the \iterm{Finals} both robots can be used simultaneously. 12 | \end{itemize} 13 | 14 | \subsection{Appearance and Safety} 15 | \label{sec:rules:robotappearance} 16 | 17 | Robots should have a product-like appearance and be safe to operate. The following rules apply to all robots: 18 | \begin{itemize} 19 | \item \textbf{Cover:} The robot's internal hardware (electronics and cables) should be covered in an appealing way. The use of (visible) duct tape is strictly prohibited. 20 | \item \textbf{Loose cables:} Loose cables hanging out of the robot are not permitted. 21 | \item \textbf{Safety:} The robot must not have sharp edges or elements that might harm people. 22 | \item \textbf{Annoyance:} The robot must not be continuously making loud noises or use blinding lights. 23 | \item \textbf{Marks:} The robot may not exhibit any kind of artificial marks or patterns. 24 | \item \textbf{Driving:} To be safe, the robots should be careful when driving. Obstacle avoidance is mandatory. 25 | \end{itemize} 26 | 27 | % \input{general_rules/Robots-SPL} 28 | 29 | \input{general_rules/Robots-OPL} 30 | 31 | 32 | 33 | % Local Variables: 34 | % TeX-master: "../Rulebook" 35 | % End: 36 | -------------------------------------------------------------------------------- /setup_tex/abbrevix.ist: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `mcgillpage.ist', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% 6 | %% This is a MAKEINDEX style file which should be used to 7 | %% generate the formatted index for use with the ufthesis 8 | %% document class. This style file can be used to display 9 | %% an index without any displayed page numbers. 10 | 11 | %% Input Style Formats 12 | keyword "\\indexentry" % Index command 13 | arg_open '{' % argument opening delimiter 14 | arg_close '}' % argument closing delimiter 15 | range_open '(' % page range opening delimiter 16 | range_close ')' % page range closing delimiter 17 | level '!' % index level delimiter 18 | actual '@' % actual key designator 19 | encap '|' % page number encapsulator 20 | quote '"' % quote symbol 21 | escape '\\' % symbol that escapes quote 22 | page_compositor "-" % composite page delimiter 23 | 24 | %% Output Style Formats 25 | preamble 26 | "\n \\renewcommand{\\RSpset}[1]{\\RSnopnum{#1}} 27 | \n \\IndexSet \n\n \\begin{theindex} \n\n" 28 | postamble 29 | "\n\n \\end{theindex} \n" 30 | item_0 "\n \\indxspace \n \\item " 31 | item_1 "\n \\subitem " 32 | item_2 "\n \\subsubitem " 33 | delim_0 "\\hfill " 34 | delim_1 "\\hfill " 35 | delim_2 "\\hfill " 36 | encap_prefix "\\" 37 | encap_infix "{" 38 | encap_suffix "}" 39 | %% The next lines will produce some warnings when 40 | %% running MakeIndex as they try to cover two different 41 | %% versions of the program: 42 | lethead_prefix "{\\bfseries\\hfil " 43 | lethead_suffix "\\hfil}\\nopagebreak\n" 44 | lethead_flag 0 45 | heading_prefix "{\\bfseries\\hfil " 46 | heading_suffix "\\hfil}\\nopagebreak\n" 47 | headings_flag 0 48 | %% 49 | %% 50 | %% End of file 51 | -------------------------------------------------------------------------------- /chapters/general_rules/Robots-OPL.tex: -------------------------------------------------------------------------------- 1 | % \subsection{Open Platform League} 2 | % \label{sec:rules:robotappearance_opl} 3 | % Robots competing in the \OPL{} must comply with security specifications in order to avoid causing any harm while operating. 4 | 5 | \subsection{Size and Weight} 6 | \label{sec:rules:robotappearance_opl:size} 7 | 8 | \begin{itemize} 9 | \item \textbf{Dimensions:} The dimensions of a robot should not exceed the limits of an average door (\SI{200}{\centi\meter} by \SI{70}{\centi\meter}). The \TC{} may allow the qualification and registration of larger robots, but it cannot be guaranteed that the robots can actually enter the arena. In doubt, contact the \LOC{}. 10 | \item \textbf{Weight:} There is no specific weight restriction. However, the weight of the robot and the pressure it exerts on the floor should not exceed local regulations for the construction of buildings which are used for living and/or offices in the country where the competition is being held. 11 | \item \textbf{Transportation:} Team members are responsible for quickly moving the robot out of the \Arena{}. If the robot cannot move by itself (for any reason), the team members must be able to transport the robot away in an easy and fast manner. 12 | \end{itemize} 13 | 14 | 15 | \subsection{Emergency Stop Button} 16 | \label{sec:rules:robotappearance_opl:esb} 17 | 18 | \begin{itemize} 19 | \item \textbf{Accessibility and Visibility:} Every robot has to provide an easily accessible and visible \EmergencyStop{} button. 20 | \item \textbf{Color:} It must be coloured red and be the only red button on the robot. 21 | The TC may ask the team to tape over or remove any other red button present on the robot. 22 | \item \textbf{Robot behavior:} When the \EmergencyStop{} button is pressed, the robot and all its parts must stop moving immediately. 23 | \end{itemize} 24 | 25 | 26 | % \noindent\textbf{Note:} All robot requirements will be tested during \RobotInspection{} (see~\ref{sec:setupdays:inspection}). -------------------------------------------------------------------------------- /setup_tex/config.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: config.tex 2019-01-08 09:00:00 kyordhel $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Package configuration for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \setlist{noitemsep} 9 | 10 | %%% SubfigureSetup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 | %\renewcommand{\subfigtopskip}{5pt} % default is 10pt 12 | %\renewcommand{\subfigbottomskip}{5pt} % default is 10pt 13 | %\renewcommand{\subfigcapskip}{3pt} % default is 10pt 14 | %\renewcommand{\subfigcapmargin}{7pt} % default is 10pt 15 | 16 | %%% TweakList-Setup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17 | \renewcommand{\itemhook}{% % modify itemize-spacing 18 | \setlength{\topsep}{2pt}% 19 | \setlength{\partopsep}{1pt}% 20 | \setlength{\itemsep}{-1pt}% 21 | } 22 | \renewcommand{\enumhook}{% % modify enumerate-spacing 23 | \setlength{\topsep}{2pt}% 24 | \setlength{\partopsep}{1pt}% 25 | \setlength{\itemsep}{-1pt}% 26 | } 27 | \renewcommand{\descripthook}{% % modify description-spacing 28 | \setlength{\topsep}{2pt}% 29 | \setlength{\partopsep}{1pt}% 30 | \setlength{\itemsep}{-1pt}% 31 | } 32 | 33 | \setkomafont{title}{\normalfont} 34 | \setkomafont{sectioning}{\normalfont\bfseries} 35 | \addtokomafont{caption}{\small} 36 | \setkomafont{captionlabel}{\small\bfseries} 37 | \setkomafont{descriptionlabel}{\normalfont\bfseries} 38 | \renewcommand*{\chapterformat}{\LARGE{Chapter \thechapter}} 39 | 40 | %%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41 | \hypersetup{ 42 | pdftitle = {RoboCup@Home Rules and Regulations}, 43 | pdfsubject = {RoboCup@Home Rulebook}, 44 | pdfauthor = {RoboCup@Home Technical Committee}, 45 | pdfkeywords = {RoboCup, @Home, Rules, Competition}, 46 | colorlinks = true, 47 | anchorcolor = blue, 48 | linkcolor = blue, 49 | urlcolor = blue, 50 | } -------------------------------------------------------------------------------- /setup_tex/packages.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: packages.tex 385 2013-02-12 21:53:10Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: List of packages for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | % \usepackage{soul} 9 | 10 | \usepackage[utf8x]{inputenc} 11 | \usepackage[english]{babel} 12 | \usepackage{amsmath,amssymb,amsfonts} 13 | % \usepackage[nice]{nicefrac} 14 | \usepackage{siunitx} 15 | \usepackage{graphicx} 16 | \usepackage{multicol} 17 | \usepackage{verbatim} 18 | \usepackage{fancyhdr} 19 | 20 | % \usepackage{color} 21 | \usepackage{xcolor} 22 | \usepackage{colortbl} 23 | % \usepackage{epsfig} 24 | \usepackage{makeidx} % This one causes scoresheets not to setle 25 | % \usepackage{lscape} 26 | % \usepackage{picinpar} 27 | 28 | \usepackage{./setup_tex/styles/tweaklist} 29 | 30 | \usepackage{enumerate} 31 | \usepackage{paralist} 32 | \usepackage{multirow} 33 | \usepackage{hhline} 34 | \usepackage{pgffor} 35 | % \usepackage{array} 36 | 37 | \usepackage{nameref} 38 | \usepackage{varioref} 39 | \usepackage{hyperref} 40 | \usepackage[noabbrev,nameinlink]{cleveref} 41 | \usepackage{booktabs} 42 | \usepackage{tabularx} 43 | \usepackage{xspace} 44 | \usepackage{csquotes} 45 | \usepackage[inline]{enumitem} 46 | 47 | %\usepackage{times} 48 | %\usepackage{helvet} 49 | %\usepackage{courier} 50 | 51 | % \usepackage{url} 52 | \usepackage{caption} 53 | % \usepackage{epstopdf} 54 | \usepackage{subfig} 55 | \usepackage{float} 56 | \usepackage{wrapfig} 57 | % \usepackage{xfrac} 58 | 59 | % \usepackage[titletoc]{appendix} 60 | % \usepackage{enumitem} 61 | % \usepackage{mathtools} 62 | % \usepackage{gensymb} 63 | 64 | \usepackage[ 65 | type={CC}, 66 | modifier={by-sa}, 67 | version={4.0}, 68 | ]{doclicense} 69 | 70 | % Required by scoresheets 71 | \usepackage{calc} 72 | \usepackage{ifthen} 73 | \usepackage{environ} 74 | \usepackage{wasysym} 75 | \usepackage{chngpage} 76 | 77 | % Local Variables: 78 | % TeX-master: "../Rulebook" 79 | % End: 80 | -------------------------------------------------------------------------------- /chapters/general_rules/ExternalDevices.tex: -------------------------------------------------------------------------------- 1 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | % 3 | % External Devices 4 | % 5 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | \section{External Devices} 7 | \label{sec:rules:externaldevices} 8 | Everything a team uses in a test that is not part of the robot is considered an \ExternalDevice{}. 9 | An \ExternalDevice{} must be authorized by the \TC{} during \RobotInspection{} (see~\ref{sec:setupdays:inspection}). 10 | The \abb{TC} decides whether an \ExternalDevice{} can be used freely or under referee supervision and determines its impact on scoring. 11 | Wireless devices, such as hand microphones and headsets, are not allowed with the exception of \ExternalComputing{}. 12 | 13 | \subsection{On-Site External Computing} 14 | % \label{sec:rules:onsiteexternalcomputing} 15 | Computing resources that are not physically attached to the robot are considered \ExternalComputing{}. 16 | They must be placed in the \ECRA{}, which is announced by the \TC{} during \SetupDays{} (see~\ref{chap:setupdays}), where a switch, connected to the \ArenaNetwork{} 17 | % (see~\ref{sec:rules:scenario:wifi}) 18 | , will be available. 19 | During a \Testblock{} 20 | % (see~\ref{sec:rules:schedule}) 21 | , only two persons are allowed in the \abb{ECRA} at any time, one team member each of the two teams up next. No peripherals (e.g.~screens, mouses, keyboards) are allowed to be present. Laptops can only be placed if the team is up next and need to be removed as soon as the test finishes. 22 | % During a \Testslot{}, all people must stay at least \SI{1}{\meter} away from the \abb{ECRA}. 23 | % Interacting with anything in the \abb{ECRA} after the referee has given the start signal will cause the test to end with a score of zero. 24 | 25 | 26 | % On-line devices 27 | \subsection{On-Line External Computing} 28 | \label{sec:rules:onlineexternalcomputing} 29 | Teams can utilize \ExternalComputing{} through the internet connection of the \ArenaNetwork{} (e.g.~cloud services, online APIs). These must be announced to and approved by the \TC{}. 30 | % one month prior to the competition. 31 | 32 | % Local Variables: 33 | % TeX-master: "../Rulebook" 34 | % End: 35 | -------------------------------------------------------------------------------- /chapters/introduction/Infrastructure.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction - Infrastructure 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \section{Infrastructure} 8 | \label{sec:introduction:infrastructure} 9 | \paragraph{RoboCup@Home Mailing List} 10 | \label{sec:introduction:mailinglist} 11 | The official \AtHome{} mailing list can be reached at:\\ 12 | \href{mailto:robocup-athome@lists.robocup.org}{\small\texttt{robocup-athome@lists.robocup.org}}. You can subscribe to the mailing list at: {\small\url{http://lists.robocup.org/cgi-bin/mailman/listinfo/robocup-athome}} 13 | 14 | \paragraph{RoboCup@Home Web Page} 15 | \label{sec:introduction:webpage} 16 | The official \AtHome{} website that also hosts this rulebook can be found at: {\small\url{https://athome.robocup.org/}} 17 | 18 | \paragraph{RoboCup@Home Rulebook Repository} 19 | \label{sec:introduction:repo} 20 | The official \AtHome{} \RR{} is where rules are publicly discussed before applying changes. 21 | The entire \AtHome{} community is welcome and encouraged to actively participate in creating and discussing the rules. The \RR{} can be reached at: {\small\url{https://github.com/RoboCupAtHome/RuleBook/}} 22 | 23 | \paragraph{RoboCup@Home Telegram Group} 24 | \label{sec:introduction:telegramgroup} 25 | The official \AtHome{} \TG{} is a communication channel for the \AtHome{} community where rules are discussed, announcements are made, and questions are answered. 26 | Beyond supporting the technical aspects of the competition, the group is a meeting point to stay in contact with the community, foster knowledge exchange, and strengthen relationships. 27 | The \TG{} can be reached at: {\small\url{https://t.me/RoboCupAtHome}} 28 | 29 | \paragraph{RoboCup@Home Wiki} 30 | \label{sec:introduction:wiki} 31 | The official \AtHome{} \WIKI{} is meant to be a central place to collect information on all topics related to the \AtHome league. It was set up to simplify and unify the exchange of relevant information. 32 | This includes but is certainly not limited to hardware, software, media, data, and more. 33 | The \WIKI{} can be reached at: {\small\url{https://github.com/RoboCupAtHome/AtHomeCommunityWiki/wiki}} 34 | -------------------------------------------------------------------------------- /chapters/general_rules/PenaltiesBonuses.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \newcommand{\penaltybig}{500~} 3 | \newcommand{\penaltysmall}{250~} 4 | 5 | 6 | \section{Special Penalties} 7 | \label{sec:rules:penaltiesbonuses} 8 | 9 | \subsection{Missing Test Slot} 10 | \label{sec:rules:missingslot} 11 | \begin{enumerate} 12 | \item \textbf{Announcement:} If a team cannot participate in a test (for any reason), the team leader has to announce this to the \abb{OC} at least \SI{30}{\minute} before the \Testblock{}. 13 | 14 | \item \textbf{Penalties:} If a team is not present at the start position when their \Testslot{} starts, the team is not allowed to participate in the test anymore. If no announcement was made, the team gets a penalty of \scoring{\penaltysmall points}. 15 | \end{enumerate} 16 | 17 | \subsection{Extraordinary Penalties} 18 | \label{sec:rules:extrapenalties} 19 | \begin{enumerate} 20 | \item \textbf{Cheating:} If a team member is found breaking the fair play rules (see~\ref{sec:rules:fairplay}), the team will be automatically disqualified of the running test, and a penalty of \scoring{\penaltybig points} is handed out. 21 | 22 | \item \textbf{Faking:} If a team starts a test, but it does not solve any of the partial tasks (and is obviously not trying to do so), a penalty of \scoring{\penaltysmall points} is handed out. 23 | The decision is made by the referees and the monitoring TC member. 24 | 25 | \item \textbf{Collisions:} In case of major, negligent collisions the team will be automatically disqualified of the running test, and a penalty of \scoring{\penaltybig points} is handed out. 26 | 27 | \item \textbf{Volunteer Attendance:} If a \Volunteer{} is not at the arena on time, the team receives a penalty of \scoring{\penaltysmall points}. 28 | 29 | \item \textbf{Jury Attendance:} Jury members missing a performance to evaluate are excluded from the jury, and the team is disqualified from the test. 30 | 31 | \item \textbf{Modifying Standard Platform Robots:} If any unauthorized modification is found on a \SPL{} robot, the responsible team will be immediately disqualified for the entire competition while also receiving a penalty of \scoring{\penaltybig points} in the overall score. 32 | \end{enumerate} 33 | \noindent\textbf{Note:} Receiving these penalties might negatively influence future qualification decisions. 34 | 35 | 36 | % Local Variables: 37 | % TeX-master: "../Rulebook" 38 | % End: 39 | -------------------------------------------------------------------------------- /chapters/introduction/Introduction.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \chapter{Introduction} 8 | \label{chap:introduction} 9 | 10 | 11 | \section{RoboCup} 12 | \label{sec:introduction:robocup} 13 | \RoboCup{} is an international joint project to promote AI, robotics, and related fields. It is an attempt to foster AI and intelligent robotics research by providing standard problems where a wide range of technologies can be integrated and examined. More information can be found at: 14 | {\small\url{http://www.robocup.org/}}. 15 | 16 | 17 | \section{RoboCup@Home} 18 | \label{sec:introduction:robocupathome} 19 | The \AtHome{} league aims to develop service and assistive robot technology with high relevance for future personal domestic applications. It is the largest international annual competition for autonomous service robots and is part of the \RoboCup{} initiative. A set of benchmark tests is used to evaluate the robots' abilities and performance in a realistic non-standardized home environment setting. Focus lies on the following domains but is not limited to: \HRI{} and Cooperation, \NAV{} and \MAP{} in dynamic environments, \CV{} and \OR{} under natural lighting conditions, Object \MAN{}, \AB{}, \BI{}, \AmI{}, Standardization and \SysI{}. It is collocated with the \RoboCup{} symposium. 20 | 21 | \section{RoboCup Brazil Open} 22 | \label{sec:introduction:RBO} 23 | 24 | The RoboCup Brazil Open @Home Virtual competition aims to develop service and assistive robot technology with high relevance for future personal domestic applications. It is the largest international annual competition for autonomous service robots and is part of the RoboCup initiative. A set of benchmark tests is used to evaluate the robots’ abilities and performance in a virtual home environment setting. Focus lies on the following domains but is not limited to: Navigation and Mapping in virtual environments, Computer Vision and Object Recognition, Object Manipulation, Adaptive Behaviors, Behavior Integration, Ambient Intelligence, Standardization and System Integration. 25 | 26 | \input{chapters/introduction/Organization} 27 | 28 | % \input{chapters/introduction/Infrastructure} 29 | 30 | % \input{chapters/introduction/Leagues} 31 | 32 | \input{chapters/introduction/Competition} 33 | 34 | % \input{chapters/introduction/Awards} 35 | 36 | % Local Variables: 37 | % TeX-master: "Rulebook" 38 | % End: 39 | -------------------------------------------------------------------------------- /chapters/concepts/CompetitionConcepts.tex: -------------------------------------------------------------------------------- 1 | \chapter{Concepts Behind the Competition} 2 | \label{chap:concepts} 3 | A set of key concepts apply to every \RoboCup\AtHome{} competition and the performed tests. 4 | 5 | \paragraph{Autonomy} 6 | \label{sec:concepts:autonomy} 7 | All robots participating in the \RoboCup\AtHome{} competition have to be \emph{autonomous}. This means no human is allowed to remote control the robot during a test. Furthermore, a test must not be solved using \OLC{}. 8 | 9 | \paragraph{Applicability} 10 | \label{sec:concepts:applicability} 11 | The tests should reward useful, robust, general, cost effective, and applicable solutions. The tests should increase in difficulty and complexity each year. 12 | 13 | \paragraph{Lean set of rules} 14 | \label{sec:concepts:leanrules} 15 | To allow for different, general and transmissible approaches in the RoboCup@Home competitions, the rule set should be as lean as possible. Still, to avoid rule discussions during the competition itself, it should be very concrete leaving no room for diverse interpretation. 16 | 17 | \paragraph{Social Relevance} 18 | \label{sec:concepts:socialrelevance} 19 | The tests should show socially relevant results. The aim is to convince the public about the usefulness of autonomous robot applications in domestic settings by directly assisting and helping humans. 20 | 21 | \paragraph{Scientific Value} 22 | \label{sec:concepts:scientificvalue} 23 | The tests should allow teams to show novel approaches with high scientific value. 24 | 25 | \paragraph{Time Constraints} 26 | \label{sec:concepts:timeconstraints} 27 | Setup and test time is limited to allow for many participating teams and to emphasize the competition aspect of \AtHome{}. 28 | 29 | \paragraph{Non Standard Scenario} 30 | \label{sec:concepts:nonstandardscenario} 31 | In order to reward robust and general solutions, \RoboCup\AtHome{} has no standard scenario. It should resemble a typical domestic setting of the host country. Furthermore, tests may take place outside of the scenario, i.e., in an previously unknown environment like, for example, a nearby public space. 32 | 33 | \paragraph{Appeal} 34 | \label{sec:concepts:appeal} 35 | The competition should appeal to the audience and the public. Therefore high attractiveness and originality of an approach should be rewarded. 36 | 37 | \paragraph{Community} 38 | \label{sec:concepts:community} 39 | Although teams compete against each other, the members of the \AtHome{} league are expected to cooperate and exchange knowledge to advance technology together. Every team is encouraged to share relevant technical, scientific, and team related information through the \TDP{} and by participating in the various communication channels. 40 | % (see \ref{sec:introduction:infrastructure}). 41 | 42 | 43 | % Local Variables: 44 | % TeX-master: "Rulebook" 45 | % End: 46 | -------------------------------------------------------------------------------- /Rulebook.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: Rulebook.tex $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: introduction to RoboCupAtHome 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \documentclass[11pt, twoside, openright, a4paper, chapterprefix]{scrbook} 9 | \usepackage[inner=2.5cm, outer=2.5cm, top=4cm, bottom=4cm]{geometry} 10 | 11 | %%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12 | \input{./setup_tex/packages.tex} 13 | \input{./setup_tex/config.tex} 14 | \input{./setup_tex/styling.tex} 15 | \input{./setup_tex/active_version.tex} 16 | \input{./setup_tex/abbrevix.tex} 17 | \input{./setup_tex/macros.tex} 18 | \input{./setup_tex/macros_score_sheets.tex} 19 | \input{./setup_tex/macros_open_demonstrations.tex} 20 | \input{./setup_tex/macros_leagues.tex} 21 | 22 | \graphicspath{{\YEAR/}{./images/}} 23 | 24 | \makeindex 25 | \makeabbex 26 | 27 | \newcommand{\sectionbreak}{\clearpage} 28 | \newcommand{\subsectionbreak}{\clearpage} 29 | 30 | \begin{document} 31 | 32 | \input{./titlepage} 33 | \pagestyle{empty} 34 | \input{./acknowledgments} 35 | % \pagestyle{empty} 36 | % \input{./example_skills.tex} 37 | \clearpage 38 | 39 | \pagestyle{empty} 40 | \setcounter{tocdepth}{1} 41 | \tableofcontents 42 | \clearpage 43 | 44 | \pagestyle{plain} 45 | 46 | \input{chapters/introduction/Introduction} 47 | 48 | \input{chapters/concepts/CompetitionConcepts} 49 | 50 | \input{chapters/general_rules/GeneralRules} 51 | 52 | \input{chapters/Setup} 53 | 54 | %%% STAGE I 55 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 56 | \chapter{Tests in Stage I} 57 | \label{chap:stage_I} 58 | \testtocentry{test:speech-recognition-audio-detection} 59 | \testtocentry{test:personal-recognition} 60 | \testtocentry{test:navigation-and-follow-me} 61 | \testtocentry{test:object-recognition-and-manupulation} 62 | \clearpage 63 | 64 | \input{tasks/LARC_Speech} 65 | \input{tasks/LARC_People} 66 | \input{tasks/LARC_navigation} 67 | \input{tasks/LARC_Object} 68 | 69 | %%% STAGE II 70 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 71 | \chapter{Tests in Stage II} 72 | \label{chap:stage_II} 73 | \testtocentry{test:carry-my-luggage} 74 | \testtocentry{test:clean-up} 75 | \testtocentry{test:gpsr} 76 | \testtocentry{test:restaurant} 77 | \clearpage 78 | 79 | \input{tasks/LARC_CarryMyLuggage} 80 | \input{tasks/LARC_CleanUp} 81 | % \input{tasks/LARC_Receptionist} 82 | % \input{tasks/LARC_Take Out the Garbage} 83 | % \input{tasks/LARC_CleanTheTable} 84 | % \input{tasks/LARC_WhereIsThis} 85 | \input{tasks/LARC_GPSR} 86 | \input{tasks/LARC_Restaurant} 87 | 88 | %% FINALS 89 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 90 | \input{tasks/LARC_Final} 91 | 92 | % \printabx 93 | % \printidx 94 | 95 | \end{document} 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | RuleBook for RoboCup @Home Brazil Open 2025 2 | =============================== 3 | 4 | RoboCup@Home teams and team members are welcome to post GitHub issues for clarifications, questions etc. 5 | 6 | Improvements are also welcome in the form of pull requests. 7 | 8 | This rulebook is based on the rulebook used in the robocup@home world championship in this [link](https://github.com/RoboCupAtHome/RuleBook). 9 | 10 | The current version of RuleBook can be found [here](build/Rulebook.pdf). 11 | 12 | ### RoboCup 13 | RoboCup 14 | is an international joint project to promote AI, robotics, and related fields. It is an attempt to foster AI and intelligent robotics research by providing standard problems where a wide range of technologies can be integrated and examined. More information can be found at [http://www.robocup.org/](http://www.robocup.org/). 15 | 16 | ### RoboCup@Home 17 | The RoboCup@Home league aims to develop service and assistive robot technology with high relevance for future personal domestic applications. It is the largest international annual competition for autonomous service robots and is part of the RoboCup initiative. A set of benchmark tests is used to evaluate the robots abilities and performance in a realistic non-standardized home environment setting. Focus lies on the following domains but is not limited to: Human-Robot-Interaction and Cooperation, Navigation and Mapping in dynamic environments, Computer Vision and Object Recognition under natural light conditions, Object Manipulation, Adaptive Behaviors, Behavior Integration, Ambient Intelligence, Standardization and System Integration. It is collocated with the RoboCup symposium. 18 | 19 | ### Contributing 20 | The RoboCup @Home Organizing Committee is always looking for volunteers to assist in the events and willing to help to maintain the sites. Volunteers can help in tasks such as organizing and categorizing publications, team videos, memories, scores, press, and writing examples and extended rule explanations. Other projects such as developing utilities for the competition and tools for referees are also welcome. If you would like to collaborate, write to any of the members of the Organizing Committee. 21 | 22 | Contributions and improvements to the rulebook are always welcome in the form of pull requests. 23 | 24 | ### License 25 | 26 | The content of this project itself is licensed under the Creative Commons Attribution Share Alike 4.0 International license, and the underlying source code used to format and display that content is licensed under the GPL v2 license. 27 | 28 | ### Issues 29 | 30 | Feel free to suggest any corrections or updates to the rulebook by creating new issues. This helps us to discuss with the community about the present and future of the league. 31 | In doing so, please try to make clear the following information whenever possible: 32 | 33 | - In which section of the rulebook should your suggestion/correction apply? 34 | - What does the rule currently say about this topic? 35 | - How will the rule look after the update? 36 | -------------------------------------------------------------------------------- /setup_tex/macros_leagues.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: macros_leagues.tex 399 2017-06-04 13:36:00Z matamoros $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Macros for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \ifdefined\league 9 | \else% 10 | % Provided for compatibility with older versions 11 | \newcommand\teamsListFile{teams/teams.tex} 12 | \newcommand{\league}{} 13 | \newcommand{\leagueFullName}{} 14 | \fi 15 | 16 | %% Import team from the Open Standard Platform League %%%%%%%%%%% %% 17 | \ifthenelse{\equal{\league}{OPL}}{ 18 | \newcommand\teamsListFile{teams/OPL.tex} 19 | \newcommand{\leagueFullName}{Open Platform League} 20 | }{} 21 | 22 | %% Import team from the Domestic Standard Platform League %%%%%%% %% 23 | \ifthenelse{\equal{\league}{DSPL}}{ 24 | \newcommand\teamsListFile{teams/DSPL.tex} 25 | \newcommand{\leagueFullName}{Domestic Standard Platform League} 26 | }{} 27 | 28 | %% Import team from the Social Standard Platform League %%%%%%%%% %% 29 | \ifthenelse{\equal{\league}{SSPL}}{ 30 | \newcommand\teamsListFile{teams/SSPL.tex} 31 | \newcommand{\leagueFullName}{Social Standard Platform League} 32 | }{} 33 | 34 | 35 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 36 | %% Per league macros %% 37 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 38 | 39 | %% Domestic Standard Platform League %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 40 | \newcommand{\ifDSPL}[1]{ 41 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{DSPL}}{#1}{} 42 | } 43 | 44 | \newcommand{\ifNotDSPL}[1]{ 45 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{OPL} \OR \equal{\league}{SSPL}}{#1}{} 46 | } 47 | 48 | 49 | %% Open Platform League %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 50 | \newcommand{\ifOPL}[1]{ 51 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{OPL}}{#1}{} 52 | } 53 | 54 | \newcommand{\ifNotOPL}[1]{ 55 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{DSPL} \OR \equal{\league}{SSPL}}{#1}{} 56 | } 57 | 58 | 59 | %% Open Standard Platform League %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 60 | \newcommand{\ifSSPL}[1]{ 61 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{SSPL}}{#1}{} 62 | } 63 | 64 | \newcommand{\ifNotSSPL}[1]{ 65 | \ifthenelse{\equal{\league}{} \OR \equal{\league}{OPL} \OR \equal{\league}{DSPL}}{#1}{} 66 | } 67 | 68 | % \newcommand{\ifLeague}[2]{ 69 | % \ifNotSSPL{#1} 70 | % \ifSSPL{#2} 71 | % } 72 | 73 | 74 | 75 | 76 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 77 | %% List of teams import macro %% 78 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 79 | 80 | \newcommand{\loadTeamsListFile}{% 81 | \input{\teamsListFile} 82 | } 83 | 84 | % \expandafter\expandafter\newcommand\TEAMSSTAGEONE{\csname TEAMS\league \endcsname} 85 | 86 | % Local Variables: 87 | % TeX-master: "../Rulebook" 88 | % End: -------------------------------------------------------------------------------- /chapters/appendices/example_skills.tex: -------------------------------------------------------------------------------- 1 | \chapter{Example Skills} 2 | \label{chap:example-skills} 3 | 4 | The following section presents a list of \iterm{Example Skills} with an high degree of difficulty which can be exploited during the \textit{Open Demonstrations} (See~\refsec{sec:open-demonstrations}. 5 | Other skills not on this list (yet) may be added as well. If you want to do so, please let the TC know via email (tc@robocupathome.org) for their inclusion on the RuleBook so all teams may also show this skill. 6 | 7 | Please note that these examples are to illustrate the level of complexity and applicability that should be shown. For instance, \enquote{Handle a pan} is listed in the category of \textit{Complex manipulation}, but it is extensive to handling pans, pots, woks and any other cookware with handles. 8 | 9 | \section{Skills by category} 10 | 11 | \subsection{Complex manipulation} 12 | \begin{itemize} 13 | \item Cook a meal. 14 | \item Manipulating panels/switches/knobs. 15 | \item Use/open a fridge/stove/blender/microwave/washing machine. 16 | \item Iron clothes. 17 | \item Move a movable object (pole, chair, table). 18 | \item Pouring liquids/powders. 19 | \item Operate a water tap. 20 | \item Handle a pan. 21 | \end{itemize} 22 | 23 | \subsection{Complex vision} 24 | \begin{itemize} 25 | \item Read text from a newspaper. 26 | \item Handle glass/shiny-metallic objects. 27 | \item Recognize moods, activities, age, gender. 28 | % \item Recognize clothes, dressing-styles, fashionable people. 29 | \item Label unknown objects. 30 | \end{itemize} 31 | 32 | \subsection{Complex navigation} 33 | \begin{itemize} 34 | \item Navigate in (very) crowded environments. 35 | \item Navigate difficult terrain. 36 | \item Climb stairs. 37 | \item Push a wheelchair. 38 | \end{itemize} 39 | 40 | \subsection{Robot-Human Interaction} 41 | \begin{itemize} 42 | \item Collaborative robot-human manipulation. 43 | \item Maintaining a conversation. 44 | \item Learning actions on-the-fly. 45 | \item Learning objects from humans e.g.~\enquote{This object is a ...} with an open vocabulary. 46 | \item Following a human by grasping its hand. 47 | \item Explain the robot abstract concepts (why people love sunny days). 48 | \item Arrange unknown random people for a nice photo (no occlusions). 49 | % \item ask the robot for the answer to the universe, meaning of life and everything else 50 | \end{itemize} 51 | 52 | \subsection{Complex action planning} 53 | \begin{itemize} 54 | \item Separate clothes for laundry (e.g.~by color) 55 | \item Arrange a dish-washer. 56 | \item Take a cup from the cupboard whose location has changed, is closed, or the path to it is blocked (e.g.~by a chair). 57 | \item Light the way out with a lamp during a general power off. 58 | \item Arrange unknown random people for a nice photo (no occlusions). 59 | \item 60 | \end{itemize} 61 | 62 | \subsection{Mapping} 63 | \begin{itemize} 64 | \item Learn/create a (3D) map on the fly. 65 | \item Semantically annotate a map on the fly 66 | \item The robot enters a completely changed arena (furniture moved or even changed), 67 | explores it and is told to go to e.g.~a table that is moved or added. 68 | \end{itemize} 69 | 70 | 71 | % Local Variables: 72 | % TeX-master: "Rulebook" 73 | % End: 74 | -------------------------------------------------------------------------------- /registration_form.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: registration_form.tex 574 2014-04-07 13:49:59Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: introduction to RoboCupAtHome 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \newpage 9 | 10 | \begin{minipage}[t]{0.8\textwidth}% 11 | 12 | \vspace{0pt} 13 | {\huge \textbf{Registration Form} } 14 | 15 | \vspace{5 em} 16 | 17 | \newcommand{\rightRule}{\rule{0.7\linewidth}{.2pt}} 18 | 19 | \begin{tabular}{ @{} l l l} 20 | 21 | \textbf{Team name:} & \rightRule \\[.9 em]% 22 | 23 | \textbf{Team leader name:} & \rightRule \\[.9 em]% 24 | 25 | % \textbf{Weight \& dimensions (robot 1):} & \rightRule \\[.9 em]% 26 | 27 | % \textbf{Weight \& dimensions (robot 2):} & \rightRule \\[.9 em]% 28 | 29 | % \textbf{External devices:} & \rightRule \\[.9 em]% 30 | 31 | \end{tabular} 32 | 33 | \vspace{1 em} 34 | 35 | \end{minipage} 36 | \hfill 37 | \begin{minipage}[t]{0.15\textwidth}% 38 | \vspace{0pt} 39 | \includegraphics[width=\textwidth]{images/logo_RoboCupAtHome.jpg}% 40 | \end{minipage}\\ 41 | 42 | \vspace{1 em} 43 | 44 | \noindent\textbf{Safety first!} 45 | 46 | \noindent The speed of the robots should ensure safe operation. 47 | This means that the robot is not allowed to go faster than the local speed limits. 48 | During operation in an environment with humans it may not exceed a walking pace of humans (6 kph, 3.7 mph). 49 | 50 | At any time when operating the robot inside and outside the scenario the 51 | owners have to stop the robot immediately if there is a remote possibility 52 | of dangerous behavior towards people and/or objects. If a referee, member 53 | of the Technical or Organizational committee, an Executive or Trustee of 54 | the federation tells the team to stop the robot, there will be no discussion 55 | and the robot has to be stopped \emph{immediately}. 56 | 57 | If the team does not comply, the team and its members can be excluded from 58 | the ongoing competition immediately by a decision of the RoboCup@Home Technical 59 | Committee. 60 | Furthermore, the team and its members can be banned from future competitions 61 | for a period not less than a year by a decision of the RoboCup Federation 62 | Trustee Board. 63 | 64 | \vspace{1cm} 65 | 66 | \begin{tabular}{|l|c|c|} 67 | \hline 68 | ~ & {\bf Robot 1} & {\bf Robot 2}\\ 69 | \hline 70 | \hline 71 | Size of the robot&\hspace{4cm} & \hspace{4cm} \\ 72 | \hline 73 | Emergency button(s) &\hspace{4cm} & \hspace{4cm} \\ 74 | \hline 75 | Start button &\hspace{4cm} & \hspace{4cm} \\ 76 | \hline 77 | Collision avoidance &\hspace{4cm} & \hspace{4cm} \\ 78 | \hline 79 | Voice of the robot &\hspace{4cm} & \hspace{4cm} \\ 80 | \hline 81 | Robot speaker system &\hspace{4cm} & \hspace{4cm} \\ 82 | \hline 83 | Use of external devices &\hspace{4cm} & \hspace{4cm} \\ 84 | \hline 85 | ASR Bypassing method&\hspace{4cm} & \hspace{4cm} \\ 86 | \hline 87 | Other safety issues &\hspace{4cm} & \hspace{4cm} \\ 88 | \hline 89 | Custom containers.&\hspace{4cm} & \hspace{4cm} \\ 90 | \hline 91 | \end{tabular}\\[1cm] 92 | 93 | {\bf External Devices:} 94 | \vspace{2cm} 95 | 96 | \vfill 97 | 98 | \noindent I have read and fully understood the \enquote{Safety First} statement and agree to it. 99 | Furthermore, I agree to obey the rules in the official RoboCup@Home RuleBook. 100 | 101 | \vspace{2em} 102 | 103 | 104 | %team evaluation sheet 105 | \begin{tabular}{@{} @{\extracolsep{\fill}} l l @{}} 106 | \rule{0.25\linewidth}{.2pt} \hspace{0.05\linewidth} & \rule{0.25\linewidth}{.2pt} \hspace{0.05\linewidth} 107 | \\ 108 | \textit{Date \& time}% 109 | & \textit{Team leader} 110 | \end{tabular} 111 | 112 | % Local Variables: 113 | % TeX-master: "../rulebook" 114 | % End: 115 | -------------------------------------------------------------------------------- /tasks/LARC_CleanUp.tex: -------------------------------------------------------------------------------- 1 | \section{Clean Up} 2 | \label{test:clean-up} 3 | 4 | \subsection*{Description} 5 | The robot has to clean up an \Arena{} room with some misplaced objects, placing unknown objects in a garbage bin. 6 | 7 | \textbf{Main goal:} 8 | Find six misplaced objects in a room and bring them to their predefined locations. 9 | 10 | \textbf{Optional goal:} 11 | Handling heavy objects (e.g. cans filled with beverages) and small objects (e.g. spoon, fork, knife, cloth). 12 | 13 | \subsection*{Focus} 14 | This task focuses on 15 | \textit{Task Planning}, 16 | \textit{Object Perception} and 17 | \textit{Object Manipulation}. 18 | 19 | \subsection*{Setup} 20 | \begin{itemize}[nosep] 21 | \item \textbf{Locations:} 22 | \begin{itemize} 23 | \item This task takes place in a random room in the \Arena{}. 24 | \item The robot starts inside the \Arena{} at a predefined location near the entrance door. 25 | \end{itemize} 26 | \item \textbf{People:} Near the entrance, an operator tells the robot which room to clean. 27 | \item \textbf{Furniture:} All furniture are in their predefined locations. 28 | \item \textbf{Objects:} 29 | \begin{itemize} 30 | \item There are 6--10 misplaced objects at random locations in the room. 31 | \item Objects can be anywhere in the room, including the floor, seats, and on top of furniture. 32 | \item All objects are clearly visible (i.e., no occlusions). 33 | \item Objects can be regular and alike or garbage lying around at grasping distance. 34 | \item Objects used in this test are lightweight and average-sized. The team leader can, however, request a tiny and a heavy object to be used in order to score additional points for picking them. 35 | \item Objects must be placed inside the bin, not thrown or dropped. 36 | \end{itemize} 37 | \end{itemize} 38 | 39 | \subsection*{Procedure} 40 | 41 | \begin{enumerate} 42 | \item The referee requests the team to move the robot to the start location. 43 | \item The referee gives the start signal and starts the timer. 44 | \item The team leaves the area after the start signal. 45 | \item A TC member follows the robot ready to press the emergency stop button. 46 | \item The robot finds six misplaced objects in a room and brings them to their predefined locations. 47 | \item \textbf{Optionally}, the robot can manipulate heavy and tiny objects. 48 | \end{enumerate} 49 | 50 | \subsection*{Additional rules and remarks} 51 | No additional rules and remarks. 52 | 53 | \subsection*{Instructions:} 54 | 55 | \subsubsection*{To Referee} 56 | 57 | The referee needs to: 58 | \begin{itemize} 59 | \item Place objects in the room. 60 | \item Recover disposed objects from the bin. 61 | \item Ask teams whether they want a heavy or a tiny object to be 62 | \end{itemize} 63 | 64 | \subsubsection*{To OC} 65 | The OC needs to: 66 | \begin{itemize}[nosep] 67 | \item \textbf{2 hours before the test}: Announce the starting location of the robot. 68 | \end{itemize} 69 | 70 | \subsection*{Score Sheet} 71 | 72 | \begin{table}[h] 73 | \begin{tabular}{m{0.85\linewidth} c} 74 | \textbf{Maximum time}: & 5 minutes \\ 75 | \end{tabular} 76 | \end{table} 77 | 78 | \small\begin{scorelist} 79 | \scoreheading{Regular Rewards} 80 | \scoreitem[6]{250}{Place an object at the appropriate location} 81 | \scoreheading{Bonus Rewards} 82 | \scoreitem{250}{Moving a \emph{tiny} object} 83 | \scoreitem{250}{Moving a \emph{heavy} object} 84 | \scoreheading{Regular Penalties} 85 | \penaltyitem[6]{100}{Place an object at the wrong location} 86 | \scoreheading{Deus ex Machina Penalties} 87 | \penaltyitem[6]{150}{Physically interacting with object} 88 | \penaltyitem[6]{50}{Guiding the robot near an object to be moved} 89 | \penaltyitem[6]{50}{Telling where an object can be found} 90 | \penaltyitem[6]{50}{Telling robot which category an object is or where to place it} 91 | \penaltyitem[6]{50}{Pointing out object to be moved} 92 | \end{scorelist} 93 | \clearpage 94 | -------------------------------------------------------------------------------- /chapters/introduction/Awards.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% author(s): RoboCupAtHome Technical Committee(s) 4 | %% description: Introduction - Awards 5 | %% 6 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | \section{Awards} 8 | \label{sec:introduction:awards} 9 | All the awards need to be approved by the \RCF{}. Not all awards must be given. 10 | 11 | 12 | \paragraph{Winner of the Competition} 13 | \label{sec:introduction:winner} 14 | Each league has 1st, 2nd, and 3rd place award trophies. If eight or fewer teams are participating, no 3rd place award trophy is given. 15 | 16 | \newpage 17 | \paragraph*{Note: } For the following awards, the \EC{} nominates a set of candidates from which the \TC{} elects the winner. One cannot nominate or vote for their own team. 18 | 19 | \paragraph{Best Human-Robot Interface Award} 20 | \label{sec:introduction:hriaward} 21 | To honour outstanding Human-Robot Interfaces, the \HRIAward{} may be given to one of the participating teams. It is especially important that the interface is open and available to the \AtHome{} community. 22 | 23 | \paragraph{Best Poster} 24 | \label{sec:introduction:bestposter} 25 | To foster scientific knowledge exchange and reward a teams' effort to present their contributions, all scientific posters of each league are eligible to receive the \DSPLPosterAward, \SSPLPosterAward, or \OPLPosterAward, respectively. 26 | 27 | Posters are graded on presenting innovative and state-of-the-art research within a field with direct application to \RoboCup\AtHome{} in an appealing, easy-to-read way while demonstrating successful and clear results. In addition to be attractive and well-rated in the \PS{} (see~\ref{sec:setupdays:postersession}), the explained research must have impact in the team's performance during the competition. 28 | 29 | \paragraph*{Note: } For the following award, the \TC{} and team leaders nominate a set of candidates from which the \EC{} elects the winner. One cannot nominate or vote for their own team. 30 | 31 | \paragraph{Open-Source Software Award} 32 | \label{sec:introduction:assaward} 33 | For promoting software exchange and collaboration, \RoboCup\AtHome{} awards the best open source software contributions to the community. The software must be easy to read, properly documented, follow standard design patterns, be actively maintained, and meet IEEE software engineering metrics of scalability, portability, maintainability, fault tolerance, and robustness. In addition, the open sourced software must be made available as a framework-independent standalone library so it can be reused with any software architecture. 34 | 35 | Candidates must send their application to the \TC{} at least one month before the competition in form of a short paper (max 4 pages) following the same format used for the \TDP{} (see~\refsec{sec:rules:application:tdp}). The paper should include a brief explanation of the approach, comparison with State-of-the-Art techniques, statement of the used metrics and software design patterns, and the name of the teams and other collaborators that are also using the software. 36 | 37 | 38 | \paragraph{Open Challenge Award} 39 | \label{sec:introduction:ocaward} 40 | 41 | To encourage teams to present their research to the rest of the league, \AtHome{} grants the \OCAward{} to the best open demonstration presented during the competition. This award is granted only if a team has demonstrated innovative research that is related to the global objectives of \AtHome{}. 42 | 43 | 44 | \paragraph{Skill Certificates} 45 | \label{award:skill} 46 | The @Home league features certificates for the robots best at a the skills below: 47 | \begin{itemize} 48 | \item Navigation 49 | \item Manipulation 50 | \item Speech Recognition 51 | \item Person Recognition 52 | \end{itemize} 53 | 54 | A team is given the certificate if it scored at least 75\% of the attainable points for that skill. 55 | This is counted over all tests and challenges, so e.g.~if the robot scores manipulation points during the Storing Groceries test, that will count towards the Best in Manipulation certificate. 56 | The certificate will only be handed out if the team is \emph{not} the overall winner of the competition. -------------------------------------------------------------------------------- /chapters/general_rules/ContinueRules.tex: -------------------------------------------------------------------------------- 1 | % \section{Deus ex Machina} 2 | % \label{sec:rules:deusexmachina} 3 | % To allow teams to participate in tests, where the robot is only missing one ability to complete the main goal, and to allow robots to continue in case of minor malfunctions, a robot can request human assistance during a test, called \DEM{}. Help can not be requested to complete bonus goals. 4 | 5 | \subsection{Procedure} 6 | \label{sec:rules:demprocedure} 7 | To request human assistance while solving a task: 8 | 9 | \begin{enumerate} 10 | \item \textbf{Request Help:} The robot has to indicate loud and clear that it requires human assistance. It must clearly state: 11 | \begin{enumerate} 12 | \item The nature of the assistance 13 | \item The particular goal or desired result 14 | \item How the action must be carried out (when necessary) 15 | \item Details about how to interact with the robot (when necessary) 16 | \end{enumerate} 17 | 18 | \item \textbf{Supervise:} The robot must be aware of the human's actions, being able to tell when the requested action has been completed, as well as guiding the human assistant (if necessary) during the process. 19 | 20 | \item \textbf{Acknowledge:} The robot must politely thank the human for the assistance provided. 21 | \end{enumerate} 22 | 23 | 24 | \subsection{Scoring} 25 | \label{sec:rules:demscoring} 26 | The amount of times a robot can request human assistance is not limited, but score reduction applies each time. 27 | % The score for a goal or partial goal cannot be negative due to \abb{DEM} reductions. Possible \abb{DEM} requests are stated for each test with the corresponding score reductions. Other requests must be announced one day before the test in the \TLM{} where the \abb{TC} will decide on the scoring. 28 | In general, points will be deducted increasingly for: 29 | \begin{enumerate} 30 | \item \textbf{Partial Solutions:} The robot requests a partial solution (e.g. pointing to the person the robot is looking for or placing an object within grasping distance). 31 | 32 | \item \textbf{Full Awareness:} The robot requests a whole step of the test to be completed but is able to track and supervise activity. This means detecting when something goes wrong and when the request is done. 33 | 34 | \item \textbf{No Awareness:} The robot requests a whole step of the test to be completed and has to be told when the request is done. 35 | \end{enumerate} 36 | 37 | % \subsection{Bypassing Speech Recognition} 38 | % \label{sec:rules:asrcontinue} 39 | % When the robot is not able to receive spoken commands, teams are allowed to provide alternatives. 40 | 41 | % \begin{enumerate} 42 | % \item \textbf{Custom Operator:} A reduction of 20\% of the maximum attainable score is applied when a \CustomOperator{} is requested. The person choosen by the team gives the command \emph{exactly} as instructed by the referee. 43 | 44 | % \item \textbf{Gestures:} A reduction of 20\% of the maximum attainable score is applied when a gesture (or set of gestures) is used to instruct the robot. 45 | 46 | % \item \textbf{QR Codes:} A reduction of 30\% of the maximum attainable score is applied when a QR code is used to instruct the robot. 47 | 48 | % \item \textbf{Alternative Input Method:} A reduction of up to 30\% of the maximum attainable score is applied when an alternative \abb{HRI} interface is used to instruct the robot. 49 | % \end{enumerate} 50 | 51 | 52 | % \subsubsection{Alternative HRI Interfaces} 53 | % \label{sec:rules:asrcontinue:hriinterface} 54 | % Alternative methods and interfaces for HRI offer a way for a robot to start or complete a task. 55 | % Any reasonable method may be used, with the following criteria: 56 | % \begin{itemize} 57 | % \item \textbf{Intuitive:} A manual should not be needed. Teams are not allowed to explain how to interact with the robot. 58 | 59 | % \item \textbf{Effortless:} Must be as easy to use as uttering a command. 60 | 61 | % \item \textbf{Smart:} The interface adapts to the user input, displaying only the options that make sense or that the robot can actually perform. 62 | % \end{itemize} 63 | % \noindent\textbf{\textsc{Award:}} The best interface is awarded the Best Human-Robot Interface award (see~\ref{sec:introduction:hriaward}). 64 | % \noindent\textbf{Note:} All methods to bypass ASR need to be announced during \RobotInspection{} (see~\ref{sec:setupdays:inspection}). 65 | 66 | % Local Variables: 67 | % TeX-master: "../Rulebook" 68 | % End: 69 | -------------------------------------------------------------------------------- /tasks/LARC_Take Out the Garbage.tex: -------------------------------------------------------------------------------- 1 | \section{Take Out the Garbage [Housekeeper]} 2 | \label{test:take-out-the-garbage} 3 | 4 | \subsection*{Description} 5 | All garbage bins in the \Arena{} are emptied and the garbage has been moved to a specified collection zone. 6 | 7 | \textbf{Main goal:} 8 | The robot takes out the trash bags from the two bins in the \Arena{}. 9 | 10 | \textbf{Optional goal:} 11 | Removing the lid of the trash bin and handling the tho garbages at same time. 12 | 13 | \subsection*{Focus} 14 | This task focuses on 15 | \textit{Object Perception}, 16 | \textit{Object Manipulation} and 17 | \textit{Task Planning} 18 | 19 | \subsection*{Setup} 20 | \begin{itemize}[nosep] 21 | \item \textbf{Locations:} 22 | \begin{itemize} 23 | \item This test takes place inside the \Arena{}. 24 | \item The robot starts inside the \Arena{} at a predefined location near the entrance door. 25 | \item The collection zone is a collection area near the exit door. 26 | \end{itemize} 27 | \item \textbf{People:} Only the referee is allowed in the \Arena{}. 28 | \item \textbf{Furniture:} 29 | \begin{itemize} 30 | \item There are two trash bins in different rooms of the \Arena{}. They are roughly cylindrical and open at the top. The top has at least 30cm of diameter. The space above the bin will be free of obstructions. The bin may be placed against a wall. 31 | \item Each bin contains a tied garbage bag with some light contents. The color of the bag is different from the color of the bin. 32 | \item The team leader may request to place a lid on one or both of the bins to score the bonus points. 33 | \end{itemize} 34 | \item \textbf{Objects:} All objects are in their predefined locations. 35 | \end{itemize} 36 | 37 | \subsection*{Procedure} 38 | 39 | \begin{enumerate} 40 | \item The referee requests the team to move the robot to the start location. 41 | \item The referee gives the start signal and starts the timer. 42 | \item The team leaves the area after the start signal. 43 | \item A TC member follows the robot ready to press the emergency stop button. 44 | \item The robot navigates to the bins. 45 | \item \textbf{Optionally}, the robot can remove the lid of the trash bins. 46 | \item The robot takes out the trash bags from the two bins in the \Arena{}. 47 | \item \textbf{Optionally}, the robot can handle the two garbages at same time. 48 | 49 | \end{enumerate} 50 | 51 | \subsection*{Additional rules and remarks} 52 | 53 | The team is only awarded with points the moment the bag is placed somewhere. 54 | 55 | The round is only valid if at least one of the bags is taken and placed in a natural way, without throwing. If the previous condition is not met, the team does not score points and takes no penalties for that try. 56 | 57 | If the time runs out, or the emergency button is pressed, and a robot is still holding a bag the team does not score points and takes no penalties regarding that bag. 58 | 59 | If a robot lets a bag fall down and does not retrieve it, the team does not score points and takes no penalties regarding that bag. 60 | 61 | %what is the total ponctuation of a robot that willingly drops a bag outside collection (designated) zone??????? 62 | 63 | \subsection*{Instructions:} 64 | 65 | \subsubsection*{To Referee} 66 | 67 | The referee needs to: 68 | \begin{itemize} 69 | \item Place sealed bags with some light contents in the bins 70 | \item Ask team leader whether bins should be closed. 71 | \item Make sure collection zone is clear. 72 | \end{itemize} 73 | 74 | \subsubsection*{To OC} 75 | The OC needs to: 76 | \begin{itemize}[nosep] 77 | \item \textbf{During Setup days:} Ensure the trash bins have at least 30 cm of diameter at the top. 78 | \item \textbf{During Setup days:} Provide official bins and bags for training. 79 | \item \textbf{2 hours before the test:} Announce the collection zones. 80 | \end{itemize} 81 | 82 | \subsection*{Score sheet} 83 | \begin{table}[h] 84 | \begin{tabular}{m{0.85\linewidth} c} 85 | \textbf{Maximum time}: & 5 minutes \\ 86 | \end{tabular} 87 | \end{table} 88 | 89 | \small\begin{scorelist} 90 | \scoreheading{Regular Rewards} 91 | \scoreitem[2]{50}{Move to the front of a thrash bin} 92 | \scoreitem[2]{500}{Getting the bag out of the bin without assistance} 93 | \scoreitem[2]{200}{Moving the bag out of the house} 94 | \scoreitem[2]{250}{Dropping the bag inside the collection zone} 95 | \scoreheading{Bonus Rewards} 96 | \scoreitem[2]{50}{Opening the bin lid} 97 | \scoreitem{100}{Carry both bags at once} 98 | \scoreheading{Regular Penalties} 99 | \penaltyitem[2]{100}{Tipping a bin / tearing a bag} 100 | \scoreheading{Deus ex Machina Penalties} 101 | \penaltyitem[2]{150}{Receiving the bag via handover} 102 | 103 | \end{scorelist} 104 | 105 | \clearpage 106 | -------------------------------------------------------------------------------- /chapters/general_rules/TeamRegistration.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{Team Registration and Qualification} 3 | \label{sec:rules:particpation} 4 | 5 | In order to participate, a team must answer the \CFP{} announced on the \AtHome{} mailing list by sending in their \Application{}. Then, they need to be selected in the \Qualification{} phase and finally, complete their \Registration{}. 6 | 7 | 8 | \subsection{Application} 9 | \label{sec:rules:application} 10 | 11 | An application consists of a 12 | % \TeamVideo{}, \TeamWebsite{}, and 13 | \TDP{}. 14 | 15 | % \paragraph{Team Video} 16 | % \label{sec:rules:application:video} 17 | % The \TeamVideo{} should show that the team has a running robot platform that is able to, at least partly, solve the tests in the last rulebook. Therefore, the video should focus on abilities required in \SONE{} and also include some skills required in \STWO{}. The video should be self-explanatory and designed for a general audience. Any editing, e.g. speed up, needs to be indicated. The video should not exceed \SI{10}{\minute} and needs to be publicly uploaded. 18 | 19 | 20 | % \paragraph{Team Website} 21 | % \label{sec:rules:application:website} 22 | % The \TeamWebsite{} should be designed for a broad audience. Therefore, it should include scientific material, but also interesting media. The default language of the website needs to be English. 23 | 24 | 25 | \paragraph{Team Description Paper} 26 | \label{sec:rules:application:tdp} 27 | The \TDP{} is describing the team's main research, including the scientific contributions, goals, scope, and results, as well as, describing the used hardware. It needs to be in Portuguese or English, up to six pages long, and formatted according to the guidelines of the Brazilian Robotics Competition \footnote{\url{https://cbr.robocup.org.br/index.php/papers-tdps/}}. 28 | The \TDP{} must be sent in the Olimpo website\footnote{\url{https://novo.sistemaolimpo.org/}}. 29 | in addition to the TDP, the team must also fill out a form\footnote{\url{https://docs.google.com/forms/d/e/1FAIpQLSch8MFiJPzNzxLMTF1ATssK7ej7TRqHpCD9z-LlrtgT0FsdyQ/viewform}} with information about the team and robot. 30 | 31 | % An addendum as the extra page (after references) needs to include: 32 | % \begin{itemize} 33 | % \item Team Name 34 | % \item Contact Information 35 | % \item Website Url 36 | % \item Team Member Names 37 | % \item Photo(s) of the Robot(s) (unless included previously) 38 | % \item List of External Devices (see~\ref{sec:rules:externaldevices}) 39 | % \item List of 3rd Party Software 40 | % \end{itemize} 41 | 42 | \subsection{Qualification} 43 | \label{sec:rules:qualification} 44 | The \OC{} will select teams for \Qualification{}. The selections will mainly be based on: 45 | \begin{itemize} 46 | % \item The content on the \TeamWebsite{}, focusing on publications and open source resources 47 | % \item Number and complexity of abilities shown in the \TeamVideo{} 48 | \item Scientific value, novelty and contributions in the \TDP{} 49 | 50 | \end{itemize} 51 | Secondary evaluation criteria are: 52 | \begin{itemize} 53 | \item Performance in previous competitions 54 | \item Previous contributions to the \AtHome{} community 55 | \end{itemize} 56 | 57 | 58 | \subsection{Registration} 59 | \label{sec:rules:registration} 60 | Qualified teams can register at the \RoboCup\AtHome{} competition. In order to max out the number of participants, qualified teams \emph{must} contact the \OC{} to confirm (or cancel) participation. 61 | 62 | Confirming implies that the team has sufficient resources to complete \Registration{} and attend the competition. Teams that fail to confirm their participation will be disqualified. 63 | 64 | % \subsection{Task Selection Announcement} 65 | % \label{rule:task-selection-announcement} 66 | 67 | % To facilitate the scheduling of test slots during the competition, each team is required to send a list of tasks that they intend to participate in. 68 | % The list should be sent to the OC two weeks before the competition and should include all tests that the team intends to attempt. 69 | % The selected tasks should be according to the number and type of test slots of the competition (see~\Cref{tbl:max-elegible-tests}). 70 | % Teams are not obliged to perform all tasks on the list and are free to opt-out of any of them during the competition; however, a team cannot participate in a task if it was not included in the notification, i.e. opting-in for a task during the competition is not possible. 71 | % Please note that this rule is only there so that the organization is easier, as there are more tasks than testing slots available. 72 | 73 | % \begin{table}[H] 74 | % \centering 75 | % \caption{Maximum number of elegible tests} 76 | % \label{tbl:max-elegible-tests} 77 | % \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} 78 | % \begin{tabularx}{0.6\linewidth}{X C{0.4\linewidth}} 79 | % \toprule 80 | % & Stage II\\ 81 | % \midrule 82 | % \textsc{Housekeeper} & 3 \\ 83 | % \textsc{Party Host} & 3 \\ 84 | % \bottomrule 85 | % \end{tabularx} 86 | % \end{table} 87 | -------------------------------------------------------------------------------- /tasks/LARC_Receptionist.tex: -------------------------------------------------------------------------------- 1 | \section{Receptionist [Party Host]} 2 | \label{test:receptionist} 3 | \subsection*{Description} 4 | The robot has to take new guests to the living room to introduce them and offer a free place to sit.\\ 5 | 6 | \textbf{Main goal:} 7 | Introduce newcomers to a party and maintain appropriate gaze direction (at person, direction of navigation). 8 | 9 | % \vspace{-5pt} 10 | \textbf{Optional goals:} 11 | \begin{enumerate}[nosep] 12 | \item Open the entrance door for each arriving guest. 13 | \item Describe the guest for the other people. 14 | \end{enumerate} 15 | 16 | \subsection*{Focus} 17 | \SysI{}, \HRI{}, \PerDet{}, \PerRec 18 | % human detection and recognition, safe navigation and human-robot interaction with unknown people. 19 | 20 | \subsection*{Setup} 21 | \begin{itemize} 22 | \item \textbf{Location}: 23 | \begin{itemize} 24 | \item The test takes place in the living room. 25 | \item The robot starts inside the \Arena{} at a predefined location near the entrance door. 26 | \item \textbf{Entrance:} The entrance door is open by default. The team leader can request to close the door to score additional points by opening it for the guests. 27 | \end{itemize} 28 | 29 | \item \textbf{People:} 30 | \begin{itemize} 31 | \item \textbf{Host:} The host's name and favorite drink will be announced before the test. The host is already sitting in the living room. the robot knows the host. 32 | 33 | \item \textbf{Guests:} The guests have a name and favorite drink. An arriving guest will either step in front of the robot or ring the bell if the door is closed. Guests have to be guided to the living room to be introduced. Each of the guest will arrive separately. 34 | % The sound of the bell will be provided to teams during setup period before competition. 35 | \end{itemize} 36 | 37 | \end{itemize} 38 | 39 | \subsection*{Procedure} 40 | \begin{itemize} 41 | \item \textbf{Introductions:} When introducing guests, the robot must clearly identify the person being introduced and state their name and favorite drink. Introducing two people means to introduce them to each other. 42 | 43 | \item \textbf{Seating People:} The robot must point at a place or location where the guest can sit. 44 | 45 | \item \textbf{Switching Places:} Guests may switch places after they were seated. 46 | 47 | \item \textbf{Describing the First Guest:} Naming at least 4 characteristics of the first guest, i.e., color of clothes, color of hair. 48 | \item \textbf{Looking at person/direction of navigation:} During verbal interactions and descriptions of people, robot looks at the conversational partner. Robot can point at the person being introduce/described or alternate gaze between two people. During navigation robot looks in the direction where it is going. 49 | \end{itemize} 50 | 51 | \subsection*{Additional rules and remarks} 52 | \begin{enumerate}[nosep] 53 | \item \textbf{Misunderstanding:} Not understanding the guests and asking them again is fine. 54 | \item \textbf{Offer a seat:} The instructions for the seat must be clear (do not point to the void). 55 | 56 | \end{enumerate} 57 | 58 | 59 | \subsection*{Instructions} 60 | 61 | \subsubsection*{To Referee} 62 | 63 | The referees need to: 64 | \begin{itemize} 65 | \item Assign name and drink to 3 volunteers. 66 | \item Arrange (and re-arrange) people in the living room. 67 | \item Open the door when requested by the robot. 68 | \end{itemize} 69 | 70 | \subsubsection*{To OC} 71 | 72 | During setup day: 73 | \begin{itemize} 74 | \item Provide the dorbell sound. 75 | \end{itemize} 76 | 77 | 2h before test: 78 | \begin{itemize} 79 | \item Announce starting position. 80 | \item Announce host's name and favorite drink. 81 | \item Recruit volunteers as host and guests. 82 | \end{itemize} 83 | 84 | % \newpage 85 | \subsection*{Score sheet} 86 | The maximum time for this test is 8 minutes. 87 | 88 | \begin{scorelist}[startbutton=false] 89 | \scoreheading{Main Goal} 90 | \scoreitem[3]{150}{Introduce the new guest to every other guest (Say guest's correct name)} 91 | \scoreitem[3]{100}{Say guest's correct drink} 92 | \scoreitem[3]{200}{Offer a seat to the new guest (if available)} 93 | % \scoreitem[3]{100}{Point at the person talking (base, manipulator or face direction)} 94 | \scoreitem[3]{100}{Point at the person being described (base, manipulator or face direction)} 95 | 96 | \scoreheading{Regular Penalties} 97 | 98 | \penaltyitem[3]{200}{Offer a seat already taken} 99 | % \penaltyitem[2]{50}{Persistent inappropriate gaze - away from conversational partner} 100 | % \penaltyitem[1]{50}{Persistent gaze not in the direction of the navigation while moving} 101 | 102 | \scoreheading{Bonus Rewards} 103 | \scoreitem[3]{100}{Open the entrance door for a guest} 104 | \scoreitem{50}{Describe the first guest (at least 4 characteristics) to the second guest} 105 | 106 | \scoreheading{Deus Ex Machina} 107 | \penaltyitem[3]{75}{Alternative HRI} 108 | % \penaltyitem[3]{200}{Not recognizing people} 109 | 110 | 111 | 112 | \end{scorelist} 113 | \clearpage 114 | -------------------------------------------------------------------------------- /tasks/LARC_Object.tex: -------------------------------------------------------------------------------- 1 | \section{Object Recognition and Manipulation} 2 | \label{test:object-recognition-and-manupulation} 3 | 4 | \subsection*{Description} 5 | The robot must reach a collection location (bookcase with shelves or table) in which there are 10 objects. The robot must then identify and grasp 5 of those objects and put those into a delivery location (another shelf or another table). 6 | 7 | \noindent \textbf{Main goal:} 8 | The robot has to identify, grasp and correctly place several objects at different heights or positions. 9 | 10 | \noindent \textbf{Optional goal:} 11 | Finding a hidden or occluded object 12 | 13 | \subsection*{Focus} 14 | This task focuses on 15 | \textit{object detection}, 16 | \textit{object recognition} and 17 | \textit{object manipulation} 18 | 19 | \subsection*{Setup} 20 | \begin{itemize}[nosep] 21 | \item \textbf{Locations:} 22 | \begin{itemize} 23 | \item This task takes place inside the \Arena{}. 24 | \item The robot will start at a random distance between 1.0m and 1.5m from the collection location . 25 | \end{itemize} 26 | \item \textbf{People:} 27 | \begin{itemize} 28 | \item There is no people in this task. 29 | \end{itemize} 30 | \item \textbf{Furniture:} 31 | \begin{itemize} 32 | \item One of the bookcases or tables in the apartment is used for this test. 33 | \end{itemize} 34 | \item \textbf{Objects:} 35 | \begin{itemize} 36 | \item Objects are randomly organized at the collection location and by category at the delivery location. 37 | \end{itemize} 38 | \end{itemize} 39 | 40 | \subsection*{Procedure} 41 | \begin{enumerate}[nosep] 42 | \item The referee requests the team to move the robot to the start location. 43 | \item The referee gives the start signal and starts the timer. 44 | \item The team leaves the area after the start signal. 45 | \item The referee follows the robot ready to press the emergency stop button. 46 | 47 | \item The robot approaches collection location and starts searching for objects. 48 | \item \textbf{Optionally}, the robot can search for hidden or occluded objects. 49 | \item Any object found by the robot may be grasped by it. 50 | \item Before or right after grasping the object, the robot has to announce which object it has found. 51 | \item After grasping the object, the robot has to safely place it on the delivery location. 52 | \item Scores can only be gained a single time for each specific object. 53 | 54 | \end{enumerate} 55 | 56 | 57 | 58 | 59 | 60 | \subsection*{Additional rules and remarks} 61 | \begin{itemize}[nosep] 62 | \item Slightly touching the shelves, the bookcase or the table is tolerated. Driving over the objects or any other form of a major collision is not allowed, and the referees directly stop the robot. 63 | \item Robots must create a PDF report file including the list of recognized objects with a picture showing the object and the object name/label. This file may be stored on a USB-stick on the robot which is given to the OC after the test. The PDF file name should include the team name and a timestamp. It must be unmistakable which label belongs to which object. Objects must also be recognizable in the report by a human (OC) so that it can be scored. An overview of the shelf with bounding boxes and labels attached to the bounding boxes is handy for the TC to score. False positives in the report (labeling an object which is not an object but e.g. the edge of the shelf) are penalized. 64 | \item A post-it with constrasting colors can be glued to the front of the object to create occlusion. 65 | \end{itemize} 66 | 67 | \subsection*{Instructions:} 68 | \subsubsection*{To Referee} 69 | 70 | The referee needs to: 71 | \begin{itemize} 72 | \item Place the objects in the collection and delivery locations. 73 | \item Make sure there is space to place objetcs. 74 | \end{itemize} 75 | 76 | \subsubsection*{To OC} 77 | The OC needs to: 78 | \begin{itemize} 79 | \item \textbf{2 hours before the test:} Select and announce the robot start location. 80 | \end{itemize} 81 | 82 | \newpage 83 | \subsection*{Score sheet} 84 | 85 | \begin{table}[h] 86 | \begin{tabular}{m{0.85\linewidth} c} 87 | \textbf{Maximum time}: & 5 minutes \\ 88 | \end{tabular} 89 | \end{table} 90 | 91 | \begin{scorelist} 92 | 93 | \scoreheading{Regular Rewards} 94 | \scoreitem[10]{20}{Detection of object name.} 95 | \scoreitem[10]{20}{Detection of object class.} 96 | \scoreitem[5]{100}{Pick the target object (The object cannot be touching the shelf and remain in the robot's possession for at least one second).} 97 | \scoreitem[5]{120}{Place the object in the delivery location.} 98 | 99 | \scoreheading{Bonus Rewards} 100 | \scoreitem[1]{100}{Finding a hidden or occluded object.} 101 | 102 | \scoreheading{Regular Penalties} 103 | \penaltyitem[$\infty$]{40}{False positive for object name.} 104 | \penaltyitem[$\infty$]{40}{False positive for object class.} 105 | \penaltyitem[5]{50}{Drop the target object. (Only applied if the robot picked up the object)} 106 | \penaltyitem[10]{10}{Drop any other objects.} 107 | \end{scorelist} 108 | 109 | \clearpage 110 | -------------------------------------------------------------------------------- /tasks/LARC_Speech.tex: -------------------------------------------------------------------------------- 1 | \section{Verbal Interaction} 2 | \label{test:speech-recognition-audio-detection} 3 | 4 | \subsection*{Description} 5 | The robot must answer a set of questions to an operator at the first attempt without asking for confirmation. 6 | The operator is not allowed to move to the robot or shout to the robot. 7 | The questions will be related to the context of two diferent topics. 8 | Both contexts will be informed during the warm up. 9 | 10 | \noindent \textbf{Main goal:} 11 | The robot must be able to recognize and answer to a set of questions without ask for confirmation. 12 | 13 | % \noindent \textbf{Optional goal:} 14 | % ... 15 | 16 | \subsection*{Focus} 17 | This task focuses on 18 | \textit{voice recognition}. 19 | 20 | \subsection*{Setup} 21 | \begin{itemize}[nosep] 22 | \item \textbf{Locations:} 23 | \begin{itemize} 24 | \item This task takes place inside the \Arena{}. 25 | \item The robot will start at a predefined location. 26 | \item All doors of the apartment are open. 27 | \end{itemize} 28 | \item \textbf{People:} 29 | \begin{itemize} 30 | \item Two "professional" operators are selected by the TC to test the robot. 31 | \item Operators must be fluent in English 32 | \end{itemize} 33 | \item \textbf{Furniture:} 34 | \begin{itemize} 35 | \item All furniture are in their predefined locations. 36 | \end{itemize} 37 | \item \textbf{Objects:} 38 | \begin{itemize} 39 | \item All objects are in their predefined locations. 40 | \end{itemize} 41 | \end{itemize} 42 | 43 | \subsection*{Procedure} 44 | \begin{enumerate}[nosep] 45 | \item The referee requests the team to move the robot to the start location. 46 | \item The referee gives the start signal and starts the timer. 47 | \item The team leaves the area after the start signal. 48 | 49 | \item The operator will ask 6 questions related to the selcted contexts in front of the robot. 50 | % \begin{itemize} 51 | % \item 2 predefined questions. 52 | % \item 4 open questions. 53 | % \end{itemize} 54 | \item The robot should answer the question without asking confirmation. 55 | \item A question will only be asked once; there are no repetitions of a question. 56 | \begin{itemize} 57 | \item The operator shall be standing still and facing to the robot. 58 | \item The operator shall be between 0.75 and 1.0 meters away from the robot position. 59 | \item The operator shall be between -60° and 60° from the robot's center (front range). 60 | \end{itemize} 61 | \end{enumerate} 62 | 63 | \subsection*{Additional rules and remarks} 64 | \begin{itemize}[nosep] 65 | \item \textbf{Continue rule:} Continue rule can not be used during this test. 66 | \item \textbf{Question timeout:} If the robot does not answer within 10 seconds, the question is considered as missing, and the referee will proceed with the next question. 67 | \item \textbf{Understanding the answer:} If the robot's answer is not understood by the operator, it is considered as incorrect, and the referee will proceed with the next question. It is thus advised that the robot provide answers such that it is clear that the robot understood the question. For example, if the question is “What is the capital of Germany?”, instead of just answering “Berlin”, it is advised that the robot answers something to the effect of “The capital of Germany is Berlin”. 68 | % \item \textbf{Question repetition:} In the second phase, if the robot turns towards the operator to be asked once again, it should clearly state that it requires a repetition of the question once it finishes turning, so as to queue the operator to do so. 69 | \item \textbf{Log:} It is mandatory to store the recognition logs for later verification. 70 | % \item Predefined questions will be provided in the warm up day. 71 | \end{itemize} 72 | 73 | \subsection*{Instructions:} 74 | \subsubsection*{To Referee} 75 | 76 | The referee needs to: 77 | \begin{itemize} 78 | \item Avoid shouting to the robot. 79 | \item Avoid getting closer to the robot. 80 | \item Speak to the robot loud and clear with plain standard English. 81 | \item Avoid repeating questions for the same robot. 82 | \item Acronyms must be pronounced letter by letter. 83 | \end{itemize} 84 | 85 | \subsubsection*{To OC} 86 | The OC needs to: 87 | \begin{itemize} 88 | \item \textbf{2 hours before the test:} Select and announce the robot start location. 89 | \item \textbf{2 hours before the test:} Select and announce two "professional" operators. 90 | \item \textbf{2 hours before the test:} Draw the set of questiosn for each team. 91 | \item \textbf{2 hours before the test:} Select 1 volunteers. 92 | \end{itemize} 93 | 94 | \newpage 95 | \subsection*{Score sheet} 96 | 97 | \begin{table}[h] 98 | \begin{tabular}{m{0.85\linewidth} c} 99 | \textbf{Maximum time}: & 5 minutes \\ 100 | \end{tabular} 101 | \end{table} 102 | 103 | \begin{scorelist} 104 | 105 | \scoreheading{Regular Rewards} 106 | % \scoreitem[2]{50}{Answer the predefined question correctly} 107 | \scoreitem[6]{100}{Answer the question correctly} 108 | 109 | % \scoreheading{Regular Penalties} 110 | % \penaltyitem[2]{0}{...} 111 | 112 | \end{scorelist} 113 | 114 | \clearpage 115 | -------------------------------------------------------------------------------- /tasks/LARC_WhereIsThis.tex: -------------------------------------------------------------------------------- 1 | \section{Where is This? [Party Host]} 2 | \label{test:where-is-this} 3 | The robot has to explain and show people where they can find places in the \Arena{} (for example, \emph{Where is the TV?}). The robot has to tell the operator how to get to the desired location and then monitor that the operator reaches the intended location. 4 | 5 | \noindent \textbf{Main Goal:} Give accurate directions and guide at least 3 people. 6 | 7 | \noindent \textbf{Optional goals:} 8 | \begin{enumerate}[nosep] 9 | \item Lead a non-expert operator to the destination correctly. 10 | \item Provide new instructions based on the previous ones. 11 | \item Guide the operator in a \emph{natural} way (for instance, pointing at the described objects and looking at the operator when speaking with them). 12 | \end{enumerate} 13 | 14 | \subsection*{Focus} 15 | \emph{Person Leading}, \emph{Social Navigation}, \emph{Human-Robot Interaction}. 16 | 17 | 18 | \subsection*{Setup} 19 | \begin{itemize}[nosep] 20 | \item \textbf{Locations:} 21 | \begin{itemize} 22 | \item All predefined locations inside the \Arena{} are valid destinations. 23 | \item \textbf{Start Location}: The robot starts outside the \Arena{}. 24 | \item \textbf{Information Point}: The robot waits for the operator at the \emph{Information Point}, which can be anywhere in the \Arena{}, and is known to the robot. 25 | \end{itemize} 26 | \item \textbf{People:} three people will act as operators. Upon request from the team, non-expert people may be recruited. 27 | \end{itemize} 28 | 29 | 30 | \subsection*{Procedure} 31 | \begin{enumerate}[nosep] 32 | 33 | \item \textbf{Robot enters:} When the door opens, the robot navigates to the \emph{Information Point}. 34 | \item \textbf{Operators:} When the robot is waiting for a person, the next operator goes to the \emph{Information Point}, and asks the robot to be led to a particular location. Out of the three runs, two will have the same operator, returning for new directions to a new destination. 35 | \item \textbf{Give instructions:} The robot gives instructions to the operator and then starts to follow them. 36 | \item \textbf{Tour guide:} As robot and operator navigate to the target location, the robot explains what parts of the arena they are going through. 37 | \item \textbf{Execution monitoring:} The robot monitors the operator to provide additional instructions or corrections as needed. 38 | \item \textbf{Return to \emph{Information Point}:} After guiding each operator, the robot must return to the \emph{Information Point}. 39 | 40 | \end{enumerate} 41 | 42 | \subsection*{Additional rules and remarks} 43 | \begin{enumerate}[nosep] 44 | \item \textbf{Deus ex Machina:} scores are reduced if the robot requires assistance as follows: 45 | \begin{itemize}[nosep] 46 | \item \textbf{Bypassing speech recognition:} communicating with the robot through a graphical interface, or any other way. 47 | 48 | \item \textbf{Operator's assistance:} Helping the robot find the operator (for instance, through waving or shouting). 49 | \end{itemize} 50 | 51 | \item \textbf{Non-expert Operators:} Optionally, questions can be asked by a \emph{Non-expert Operator}, that is, a person from the audience with no background in robotics. \emph{Non-expert Operators} are allowed to rephrase commands given by the referees. 52 | \\\textbf{Remark:} Referees are not allowed to instruct non-expert operators on how to operate the robot. \textbf{Teams attempting to instruct or bias the operator will be disqualified}. 53 | 54 | \item \textbf{Operator fallback:} If the robot consistently fails to understand the non-expert operator (3 times or more), teams can default to a regular operator. 55 | 56 | \item \textbf{Data Recording:} Only when using non-expert operators, a team can get an additional scoring bonus by providing the recording and transcript of the issued commands. 57 | 58 | \end{enumerate} 59 | 60 | \subsection*{OC instructions} 61 | 2 hours before the test: 62 | \begin{itemize} 63 | \item Generate two destinations per volunteer, such that the directions for the second one can be based on directions for the first one. 64 | \item Recruit at least 2 volunteers for the test 65 | \item Instruct volunteers where things are in the house 66 | \item Announce the location of the \emph{Information Point}. 67 | \end{itemize} 68 | 69 | \subsection*{Referee instructions} 70 | The referee needs to 71 | \begin{itemize} 72 | \item Assign destinations to each volunteer. 73 | \end{itemize} 74 | 75 | \subsection*{Score sheet} 76 | 77 | The maximum time for this test is 10 minutes. 78 | 79 | \begin{scorelist} 80 | \scoreheading{Main Goal} 81 | \scoreitem[3]{100}{Describing and show the requested location accurately} 82 | \scoreitem[3]{200}{Monitoring operator's navigation, intervening when necessary} 83 | \scoreitem[3]{100}{Describing the areas of the \Arena{} traversed during navigation} 84 | 85 | \scoreheading{Bonus rewards} 86 | \scoreitem[3]{100}{Leading non-expert operator} 87 | \scoreitem{300} {Giving instructions to returning operator based on previous instructions} 88 | \scoreitem{200} {Natural interaction while guiding} 89 | 90 | \scoreheading{Deus Ex Machina Penalties} 91 | \penaltyitem[3]{50} {Bypassing speech recognition} 92 | \penaltyitem[3]{150} {Helping the robot find the operator} 93 | 94 | 95 | \end{scorelist} 96 | 97 | -------------------------------------------------------------------------------- /setup_tex/abbrevix.tex: -------------------------------------------------------------------------------- 1 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: abbrevix.tex 373 2013-02-12 20:32:49Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Abbreviations for the RoboCupAtHome RuleBook 6 | %% 7 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | 9 | %% temp-variables %%%%%%%%% 10 | \newlength{\adxtemp} 11 | \newlength{\adxspace} 12 | \setlength{\adxspace}{3cm} 13 | 14 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15 | %% Commands to use this 16 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17 | 18 | %% \abb{abk} 19 | %% to reference an abbreviation 20 | \newcommand{\abb}[1]{\hypertarget{#1}{#1}} 21 | 22 | %% \term{the term} 23 | %% print 'the term' in italic, 24 | %% do not include 'the term' in index 25 | %\newcommand{\term}[1]{#1\index{#1}} 26 | \newcommand{\term}[1]{\textit{#1}} 27 | 28 | %% \iterm{the term} 29 | %% print 'the term' in italic, 30 | %% include 'the term' in index 31 | \newcommand{\iterm}[1]{\textit{#1}\index{#1}} 32 | 33 | %% \nterm{the term} 34 | %% do NOT print 'the term' but include 'the term' in index 35 | \newcommand{\nterm}[1]{\index{#1}} 36 | 37 | %% \TERM 38 | %% print first term, add second term to index 39 | \newcommand{\Term}[2]{\textit{#1}\index{#2}} 40 | 41 | 42 | %% \aterm{the term}{abb} 43 | %% print 'term', 44 | %% include 'term' with abbreviation 'abb' in abbreviation-index 45 | \newcommand{\aterm}[2]{\settowidth{\adxtemp}{#2}{\hypertarget{#2}{#1 (#2)}\abbex{#2\hspace{\adxspace}\hspace{-\the\adxtemp}#1}}} 46 | 47 | %% \iaterm{the term}{abbreviation} 48 | %% print 'term', 49 | %% include 'the term' in index, 50 | %% and include abbreviation in abbreviation-index 51 | \newcommand{\iaterm}[2]{\settowidth{\adxtemp}{#2}{\hypertarget{#1}{\textit{#1} (#2)}\index{#1}\abbex{#2\hspace{\adxspace}\hspace{-\the\adxtemp}#1}}} 52 | 53 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 54 | %% Main Abbreviation Definitions 55 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 56 | 57 | \makeatletter 58 | \newlength{\QZ@TOChdent}% Used to define hanging indents. 59 | \setlength{\QZ@TOChdent}{1.0em}% 60 | \renewcommand{\@pnumwidth}{1.55em}% 61 | \makeatother 62 | % 63 | %\newenvironment{simpleenv}[4]{\clearpage}{\clearpage}% 64 | %\newenvironment{simpleenv}[4]{\clearpage}{\pagebreak}% 65 | \newenvironment{simpleenv}[4]{\pagebreak}{\pagebreak}% 66 | \newcommand{\BaseDiff}{0}% 67 | %\newcommand{\RSpnum}[1]{\makebox[\@pnumwidth][r]{#1}}% 68 | \newcommand{\RSpnum}[1]{\makebox[1.57em][r]{#1}}% 69 | \newcommand{\RSnopnum}[1]{\makebox[\@pnumwidth][r]{}}% 70 | \newcommand{\RSpset}[1]{\RSpnum{#1}}% 71 | % 72 | \newcommand{\printabbex}[4][\jobname]{% 73 | \typeout{ ***** printabbex #1 #2 #3 #4 for file \jobname.tex}% 74 | \IfFileExists{#1.and}{% 75 | \begin{simpleenv}{#1}{#2}{#3}{#4}% 76 | \pagestyle{plain} % 77 | \addcontentsline{toc}{chapter}{#2}% 78 | \chapter*{\textbf{#3}}{#4}% 79 | \input{#1.and}% 80 | \vfill% 81 | \end{simpleenv}% 82 | }% 83 | {\typeout{ ***** ERROR: No file #1.and found for file \jobname.tex.}}}% 84 | \renewcommand{\see}[2]{#2 \emph{see} #1}% 85 | \makeatletter 86 | \newcommand{\makeabbex}[1][\jobname]{\begingroup 87 | \makeatletter 88 | \if@filesw \expandafter\newwrite\csname #1@adxfile\endcsname 89 | \expandafter\immediate\openout \csname #1@adxfile\endcsname #1.adx\relax 90 | \typeout{ ***** Writing abbex file #1.adx for file \jobname.tex.}% 91 | \fi \endgroup} 92 | %\makeatother 93 | %\makeatletter 94 | \@onlypreamble{\makeindex}% 95 | \newcommand{\abbex}[2][\jobname]{\@bsphack\begingroup 96 | \def\protect##1{\string##1\space}\@sanitize 97 | \@wrabbex{#1}{#2}} 98 | \newcommand{\@wrabbex}[2]{\let\thepage\relax 99 | \xdef\@gtempa{\@ifundefined{#1@adxfile}{}{\expandafter 100 | \write\csname #1@adxfile\endcsname{\string 101 | \indexentry{#2|}{\thepage}}}}\endgroup\@gtempa 102 | \if@nobreak \ifvmode\nobreak\fi\fi\@esphack} 103 | \makeatother 104 | \newcommand{\indxspace}{\par\vspace{\BaseDiff\baselineskip}} 105 | \makeatletter 106 | \newcommand{\IndexSet}{% 107 | \renewcommand{\@idxitem}{\par\setlength{\leftskip}{0pt}% 108 | \setlength{\hangindent}{\QZ@TOChdent}}% 109 | \renewcommand{\subitem}{\par\setlength{\leftskip}{0.25in}% 110 | \setlength{\hangindent}{\QZ@TOChdent}}% 111 | \renewcommand{\subsubitem}{\par\setlength{\leftskip}{0.5in}% 112 | \setlength{\hangindent}{\QZ@TOChdent}}% 113 | \renewcommand{\indexspace}{} 114 | \renewcommand{\indxspace}{\par\vspace{\BaseDiff\baselineskip}} 115 | \renewenvironment{theindex}{% 116 | \setlength{\parindent}{\z@}% 117 | \parskip\z@ \@plus .3\p@\relax 118 | \setlength{\rightskip}{\@tocrmarg}% 119 | \setlength{\parfillskip}{-\rightskip}% 120 | \let\item\@idxitem} 121 | } %% End of the IndexSet definition 122 | \makeatother 123 | 124 | \newcommand{\printidx}{\addcontentsline{toc}{chapter}{Index}\printindex} 125 | \newcommand{\printabx}{\printabbex{Abbreviations}{Abbreviations}{}} 126 | %\newcommand{\printabbrevidx}{\printindex[abb]{Abkürzungen}{Abkürzungen}{}} 127 | \newcommand{\printabbrevidx}{\printabbex{Abbreviations}{Abbreviations}{}} 128 | %\newcommand{\makeabbrevidx}{\makeindex[abb]} 129 | \newcommand{\makeabbrevidx}{\makeabbex} 130 | 131 | % Local Variables: 132 | % TeX-master: "../Rulebook" 133 | % End: 134 | -------------------------------------------------------------------------------- /tasks/LARC_People.tex: -------------------------------------------------------------------------------- 1 | \section{Personal Recognition} 2 | \label{test:personal-recognition} 3 | 4 | \subsection*{Description} 5 | An Operator is introduced to the robot, which needs to learn what the Operator looks like. Once the robot has gathered enough information about the Operator, the Operator mixes within a crowd and the robot needs to find the Operator. Once the robot has found its Operator, it must explain how it must state information about the Operator. 6 | 7 | \noindent \textbf{Main goal:} 8 | The robot has to identify the Operator within a crowd and state information about the Operator and the crowd. 9 | 10 | \noindent \textbf{Optional goal:} 11 | Identify the operator by your name. 12 | 13 | \subsection*{Focus} 14 | This task focuses on 15 | \textit{people detection}, 16 | \textit{people recognition}, 17 | \textit{pose recognition} and 18 | \textit{Human-robot interaction}. 19 | 20 | \subsection*{Setup} 21 | \begin{itemize}[nosep] 22 | \item \textbf{Locations:} 23 | \begin{itemize} 24 | \item This task takes place inside the \Arena{}. 25 | \item The robot will starts at a designated starting location. 26 | \end{itemize} 27 | \item \textbf{People:} 28 | \begin{itemize} 29 | \item A "professional" operator is selected by the TC to test the robot. This person may a different in each run. 30 | \item The operator must be fluent in English. 31 | \item The operator name will be drawn from a list of common English names (see section \ref{sec:rules:scenario:names}). 32 | \item The number of people in the crowd will be drawn. There will be a minimum of three people and a maximum of ten. 33 | \item The operator will be facing forward and the other people will not be facing backwards. 34 | \item The crowd will be located behind the robot at a distance between 2 and 3 meters apart. 35 | \end{itemize} 36 | \item \textbf{Furniture:} 37 | \begin{itemize} 38 | \item All furniture are in their predefined locations. 39 | \end{itemize} 40 | \item \textbf{Objects:} 41 | \begin{itemize} 42 | \item All objects are in their predefined locations. 43 | \end{itemize} 44 | \end{itemize} 45 | 46 | \subsection*{Procedure} 47 | \begin{enumerate}[nosep] 48 | \item The referee requests the team to move the robot to the start location. 49 | \item The referee gives the start signal and starts the timer. 50 | \item The team leaves the area after the start signal. 51 | \item The referee follows the robot ready to press the emergency stop button. 52 | 53 | \item The team is allowed to instruct the operator until the referees start the time. 54 | \item The robot waits for the "professional" operator at the starting position. 55 | \item The robot has to memorize the operator. During this phase, the robot may instruct the operator to follow a certain setup procedure. 56 | \item \textbf{Optionally}, the robot may ask the operator for his/her name. 57 | Once the robot states it has finished memorizing the operator, it must wait for at least 1 minute. 58 | \item The operator walks around and blends into the crowd 59 | \item After the time elapses, the robot must turn about 180°, approach to the crowd and start looking for the operator. 60 | \item \textbf{Optionally}, once the crowd has been located, the robot must greet the operator (navigation or with the manipulator). 61 | % and state pose (sitting, standing, rising arms, etc.). 62 | \item Finally, robot must tell the size of the crowd .i.e. how many people there is in the crowd. 63 | 64 | 65 | \end{enumerate} 66 | 67 | \subsection*{Additional rules and remarks} 68 | \begin{itemize}[nosep] 69 | \item This test is not concerned with audio and voice recognition. Therefore, the start command may also be given by a single key press. 70 | \item The robot needs to wait for at least 1 min before the operator appears in front of the robot. During this waiting time the team is not allowed to touch the robot. 71 | \item If a person from the audience (severely) interferes with the robot in a way that makes it impossible to solve the task, the team may repeat the test immediately. 72 | \item The robot interacts with the operator, not the team. That is, the team is not allowed to instruct the operator. 73 | \item The robot needs to save an image log with boundbox. 74 | \end{itemize} 75 | 76 | \subsection*{Instructions:} 77 | \subsubsection*{To Referee} 78 | 79 | The referee needs to: 80 | \begin{itemize} 81 | \item Check safe operation of the robot; the robot needs to be stopped immediately if a person is going to be touched by the robot. 82 | \item Choose operator name randomly. 83 | \end{itemize} 84 | 85 | \subsubsection*{To OC} 86 | The OC needs to: 87 | \begin{itemize} 88 | \item \textbf{2 hours before the test:} Select the "professional" operator. 89 | \item \textbf{2 hours before the test:} Select the crowd. 90 | \item \textbf{2 hours before the test:} Select 10 volunteers. 91 | 92 | 93 | \end{itemize} 94 | 95 | \newpage 96 | \subsection*{Score sheet} 97 | 98 | \begin{table}[h] 99 | \begin{tabular}{m{0.85\linewidth} c} 100 | \textbf{Maximum time}: & 5 minutes \\ 101 | \end{tabular} 102 | \end{table} 103 | 104 | \begin{scorelist} 105 | 106 | \scoreheading{Regular Rewards} 107 | 108 | \scoreitem[1]{400}{Correctly Identify the operator (boundbox) .} 109 | \scoreitem[1]{600}{Correctly State crowd's size (boundbox for each person).} 110 | 111 | \scoreheading{Bonus Rewards} 112 | \scoreitem[1]{60}{Approach or point at the operator (with navigation or manipulator).} 113 | \scoreitem[1]{40}{Identify the operator by his name. (boundbox with his name)} 114 | 115 | \scoreheading{Regular Penalties} 116 | \penaltyitem[10]{1}{False positive will remove a true positive score.} 117 | 118 | 119 | \end{scorelist} 120 | 121 | \clearpage 122 | -------------------------------------------------------------------------------- /tasks/LARC_navigation.tex: -------------------------------------------------------------------------------- 1 | \section{Navigation and Follow Me} 2 | \label{test:navigation-and-follow-me} 3 | 4 | \subsection*{Description} 5 | The robot must navigate through a variety of waypoints and, at request, follow an operator from a safe distance avoiding hitting objects or any obstacles on the way. At the end of the test the robot must leave the arena. 6 | 7 | \noindent \textbf{Main goal:} 8 | The main objective in this test is to evaluate whether the robot is able to navigate on the scenario and follow a person. 9 | 10 | % \noindent \textbf{Optional goal:} No bonus reward 11 | 12 | 13 | \subsection*{Focus} 14 | This task focuses on \textit{mapping}, \textit{navigation}, \textit{path planning} and \textit{person tracking} and \textit{obstacle avoidance}. 15 | 16 | \subsection*{Setup} 17 | \begin{itemize}[nosep] 18 | \item \textbf{Locations:} 19 | \begin{itemize} 20 | \item The test can take place both inside and/or outside the \Arena{}. 21 | \item The robot will start at front door. 22 | \item The doors are open, except for the entry door. 23 | \end{itemize} 24 | \item \textbf{People:} 25 | \begin{itemize} 26 | \item There will be a operator who the robot must follow. 27 | \end{itemize} 28 | \item \textbf{Furniture:} 29 | \begin{itemize} 30 | \item All furniture are in their predefined locations. 31 | \end{itemize} 32 | \item \textbf{Obstacles:} 33 | \begin{itemize} 34 | \item There will be obstacles which the robot must to avoid. 35 | \end{itemize} 36 | \item \textbf{Objects:} 37 | \begin{itemize} 38 | \item Avoidable objects will be placed on the way between rooms, the object has a minimum height of 10cm. 39 | \end{itemize} 40 | \end{itemize} 41 | 42 | \subsection*{Procedure} 43 | \begin{enumerate}[nosep] 44 | \item The referee requests the team to move the robot to the start location. 45 | \item The referee gives the start signal and starts the timer. 46 | \item The team leaves the area after the start signal. 47 | \item The referee follows the robot ready to press the emergency stop button. 48 | 49 | \item \textbf{Entering the arena:} The robot starts outside the environment and must wait until the door opens. 50 | \item \textbf{Waypoint 1 (door):} After entering the \Arena{}, the robot must navigate to Waypoint 1, which may be any location and is reachable via several paths, all doors are open. 51 | \item \textbf{Waypoint 2 (obstructed path):} After reaching Waypoint 1, the robot must navigate and reach Waypoint 2. The possible paths between Waypoint 1 and 2 are obstructed by an avoidable obstacle, meaning there will be space for the robot to avoid the obstacle and follow its path. 52 | \item \textbf{Waypoint 3 (following a human)}: After reaching Waypoint 2, the robot must wait for an operator to show up for the follow me task. After the human arrives the robot must memorize and follow him. 53 | \begin{itemize} 54 | \item Memorizing the operator (training phase): The robot has to memorize the operator. During this phase, the robot may instruct the operator to follow a certain setup procedure and instruct the operator on what to do when the robot needs to stop following. 55 | \item Following the operator (guiding phase): When the robot signals that it is ready to start, the operator starts walking –in a natural way– through a designated path. The robot needs to follow the operator until the operator asks the robot to stop doing so (Waypoint 3). 56 | \end{itemize} 57 | \item \textbf{Waypoint 3 (going back):} Upon reaching Waypoint 3, the operator will command the robot to stop following him, using the instructions given by the robot in the training phase. Then, the robot must navigate back to Waypoint 2. 58 | \item \textbf{Leaving the arena:} The robot must leave the arena through the indicated door. 59 | \end{enumerate} 60 | 61 | \subsection*{Addtional rules and remarks} 62 | \begin{itemize}[nosep] 63 | \item The teams can inform the operator of how to go through the start and stop following procedures before the task starts; 64 | \item The points for reaching a waypoint are only given if the robot had no collisions through its path. While following the robot may also keep a safe distance from the operator; 65 | \item If the selected waypoint 3 has two or more entries, the operator must follow the largest path. 66 | \end{itemize} 67 | 68 | \subsection*{Instructions:} 69 | \subsubsection*{To Referee} 70 | 71 | % The referee needs to: 72 | % \begin{itemize} 73 | % \item ... 74 | % \end{itemize} 75 | 76 | \subsubsection*{To OC} 77 | The OC needs to: 78 | \begin{itemize} 79 | \item \textbf{2 hours before the test:} Select and announce the robot start location. 80 | \item \textbf{2 hours before the test:} Define each of the waypoints for each trial of each team. 81 | \item \textbf{2 hours before the test:} Draw the waypoint 3 each round. 82 | \item \textbf{2 hours before the test:} Select 1 volunteers. 83 | \end{itemize} 84 | 85 | \newpage 86 | \subsection*{Score sheet} 87 | 88 | \begin{table}[h] 89 | \begin{tabular}{m{0.85\linewidth} c} 90 | \textbf{Maximum time}: & 5 minutes \\ 91 | \end{tabular} 92 | \end{table} 93 | 94 | \begin{scorelist} 95 | 96 | \scoreheading{Regular Rewards} 97 | \scoreitem[1]{50}{Entering the arena} 98 | \scoreitem[1]{100}{Reaching waypoint 1} 99 | \scoreitem[1]{100}{Avoiding obstacle} 100 | \scoreitem[1]{200}{Reaching waypoint 2} 101 | \scoreitem[1]{500}{Following the operator and Reaching waypoint 3} 102 | \scoreitem[1]{50}{Leaving the arena} 103 | 104 | % \scoreheading{Bonus Rewards} 105 | % \scoreitem[2]{0}{...} %no bonuses 106 | 107 | \scoreheading{Regular Penalties} 108 | \penaltyitem{50}{Collision} 109 | \penaltyitem{100}{Obstacle Collision} 110 | 111 | \end{scorelist} 112 | 113 | \clearpage 114 | -------------------------------------------------------------------------------- /tasks/LARC_CleanTheTable.tex: -------------------------------------------------------------------------------- 1 | \section{Clean the Table [Housekeeper]} 2 | \label{test:clean-the-table} 3 | The robot has to remove all dishes and cutlery from a table and place them into the dishwasher.\\ 4 | 5 | \noindent \textbf{Main goals:} All tableware and cutlery on the table is placed inside the dishwasher (five objects in total).\\ 6 | 7 | \noindent \textbf{Optional goals:} 8 | \begin{enumerate}[nosep] 9 | \item Opening the dishwasher door 10 | \item Pulling out the dishwasher rack 11 | \item Placing the items in the dishwasher correctly 12 | \item Placing a dishwasher tab inside the dishwasher 13 | \end{enumerate} 14 | 15 | \subsection*{Focus} 16 | \emph{Object perception}, \emph{manipulation in narrow spaces}, and \emph{task planning}. 17 | 18 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 19 | % Setup 20 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 | \subsection*{Setup} 22 | \begin{itemize}[nosep] 23 | \item \textbf{Locations:} 24 | \begin{itemize} 25 | \item \textbf{Test location:} This test takes place in the kitchen. 26 | \end{itemize} 27 | \item \textbf{People:} 28 | \begin{itemize} 29 | \item No people are involved in the test, unless the robot requires human assistance. 30 | \end{itemize} 31 | \item \textbf{Furniture:} 32 | \begin{itemize} 33 | \item \textbf{Dining table:} A dining table is located close to the dishwasher. 34 | \item \textbf{Tray:} A plastic tray, which may have other tableware and cutlery placed inside, is located either on top of the dishwasher or on one of the racks. Objects can be placed either in the dishwasher rack or in the tray, based on the team's choice. 35 | \end{itemize} 36 | \item \textbf{Objects:} 37 | \begin{itemize} 38 | \item \textbf{Table setting:} The table has a total of five objects disposed in a typical setting for a meal for one person. 39 | The object distribution is as follows: 40 | \begin{itemize}[nosep] 41 | \item\textit{Silverware}: Any two objects (fork, knife, or spoon). 42 | \item\textit{Tableware}: Any three objects (except silverware), at least one of which is a dish. 43 | \end{itemize} 44 | \item \textbf{Dishwasher tab:} The tab can be found at a location that is announced before the test and should be autonomously placed inside the tab slot in the dishwasher. 45 | \end{itemize} 46 | \end{itemize} 47 | 48 | 49 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 50 | % Procedure 51 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 | \subsection*{Procedure} 53 | \begin{enumerate}[nosep] 54 | \item \textbf{Dishwasher door and rack}: Half an hour before the test, the team informs the referees: 55 | \begin{itemize} 56 | \item whether objects will be placed in the dishwasher rack or in the tray 57 | \item whether the dishwasher door should be closed and, if the door is open, whether the rack should be pushed in 58 | \end{itemize} 59 | \item \textbf{Test start:} The robot moves to the kitchen when the arena door is open. 60 | \item \textbf{Table clean up:} The robot cleans the table by putting all items that are on it in the dishwasher. 61 | \end{enumerate} 62 | 63 | 64 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 65 | % Additional Rules 66 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 67 | \subsection*{Additional Rules and Remarks} 68 | \begin{enumerate}[nosep] 69 | \item \textbf{Safe placing:} Objects must be placed with care, namely the robot should place rather than throw or drop objects. 70 | \item \textbf{Dishwasher:} The team decides whether the robot will place the objects in the dishwasher's rack or in the plastic tray. 71 | \item \textbf{Dishwasher door:} The dishwasher door is open and with the racks pulled out by default. 72 | The team leader can, however, request the dishwasher to be closed for bonus points. If the robot fails to open the door, it must clearly state this and request the referee to open the door. 73 | \item \textbf{Correct item placement:} The items should be placed in the rack/tray correctly, namely in the location and in a manner as a person would put them. 74 | \item \textbf{Deus ex Machina:} The scores are reduced if human assistance is received, in particular: 75 | \begin{itemize}[nosep] 76 | \item pointing to an object or telling the robot where an object is 77 | \item handing an object over to the robot 78 | \end{itemize} 79 | \end{enumerate} 80 | 81 | \subsection*{OC Instructions} 82 | 83 | During the \SetupDays: 84 | \begin{itemize} 85 | \item Provide official cutlery and tableware for training. 86 | \end{itemize} 87 | 2 hours before the test: 88 | \begin{itemize} 89 | \item Announce the predefined location of the dishwasher tab. 90 | \end{itemize} 91 | 92 | 93 | \subsection*{Referee Instructions} 94 | 95 | The referee needs to: 96 | \begin{itemize} 97 | \item Place objects on the table. 98 | \item Place the plastic tray on the dishwasher or on a rack, as requested by the team. 99 | \end{itemize} 100 | 101 | \subsection*{Score sheet} 102 | The maximum time for this test is 10 minutes. 103 | 104 | \begin{scorelist} 105 | \scoreheading{Main Goal} 106 | \scoreitem[5]{60}{Picking tableware and cutlery for transportation to the dishwasher} 107 | \scoreitem[5]{180}{Placing the tableware and cutlery inside the dishwasher} 108 | 109 | \scoreheading{Bonus Rewards} 110 | \scoreitem{200}{Opening the dishwasher door} 111 | \scoreitem{100}{Pulling out the dishwasher rack} 112 | \scoreitem[5]{40}{Placing an item correctly in the dishwasher} 113 | \scoreitem{300}{Placing the dishwasher tab inside the dishwasher} 114 | 115 | \scoreheading{Deus Ex Machina Penalties} 116 | \penaltyitem[5]{25}{Pointing at an object or telling the robot where an object is} 117 | \penaltyitem[5]{60}{Handing an object over to the robot} 118 | 119 | %\setTotalScore{1000} 120 | \end{scorelist} 121 | \clearpage 122 | -------------------------------------------------------------------------------- /tasks/LARC_GPSR.tex: -------------------------------------------------------------------------------- 1 | \section{General Purpose Service Robot} 2 | \label{test:gpsr} 3 | 4 | \subsection*{Description} 5 | 6 | The robot is asked to understand and execute commands requiring a wide range of different abilities. \\ 7 | 8 | \noindent \textbf{Main Goal:} Execute 3 commands requested by the operator.\\ 9 | 10 | \noindent \textbf{Optional Goals:} 11 | \begin{enumerate}[nosep] 12 | \item Understand a command given by a non-expert operator. 13 | \end{enumerate} 14 | 15 | \subsection*{Focus} 16 | This task focuses on 17 | \emph{Task planning}, 18 | \emph{object/people detection and recognition}, 19 | \emph{object feature recognition}, 20 | \emph{object manipulation} 21 | 22 | 23 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 24 | % Setup 25 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 26 | \subsection*{Setup} 27 | \begin{itemize}[nosep] 28 | \item \textbf{Locations:} 29 | \begin{itemize} 30 | \item \textbf{Task location:} The task takes place inside the \Arena{}, but some commands may require the robot to go out. The \Arena{} is in its nominal state for this task. 31 | \item \textbf{Start location:} The robot starts outside the \Arena{}. When the door opens, the robot moves towards the \textit{Instruction Point}. 32 | \item \textbf{Instruction point:} At the beginning of the test, as well as after finishing the first and second command, the robot moves to the \textit{Instruction Point}. 33 | \end{itemize} 34 | \item \textbf{People:} 35 | \begin{itemize} 36 | \item \textbf{Operators:} A \emph{Professional Operator} (the referee) commands the robot to execute a task. 37 | Optionally, commands can be issued by a \emph{Non-Expert Operator}, i.e. a person from the audience with no robotics background. 38 | In this case, the referee gives the goal of the command to the non-expert operator, who will then issue it to the robot in their own words. For example, the generated command might be ``Bring me a coke from the kitchen." then the non-expert operator will be told ``The robot should bring you a coke, which is found in the kitchen.", who then tells the robot ``I want a coke. Go to the kitchen and get me one." 39 | If the robot consistently fails to understand the non-expert operator (e.g. after two retries), teams can default to a custom operator. 40 | \end{itemize} 41 | \end{itemize} 42 | 43 | 44 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 | % Procedure 46 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 47 | \subsection*{Procedure} 48 | \begin{enumerate}[nosep] 49 | \item \textbf{Instruction point:} At least two hours before the test, the referees announce the location of the \textit{Instruction Point}. 50 | \item \textbf{Test start:} The robot moves to the \textit{Instruction Point} when the arena door is open. 51 | \item \textbf{Command execution:} The operator instructs the robot to execute a command and the robot performs the task. 52 | \item \textbf{Back to the instruction point:} The robot goes back to the \textit{Instruction Point} and waits for the next command. 53 | \item \textbf{Pausing the Timer:} The referee might pause the timer as soon as the robot reaches the instruction point to give time to setup the arena for the next command. The timer resumes as soon as the referee steps back in front of the robot for the next command. 54 | \end{enumerate} 55 | 56 | 57 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 58 | % Additional Rules 59 | % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 60 | \subsection*{Additional Rules and Remarks} 61 | \begin{enumerate}[nosep] 62 | \item \textbf{Partial scoring:} The main task allows partial scoring (per \emph{completed} command). 63 | 64 | \item \textbf{Command generator:} Tasks will be generated using the official command generator\footnote{\url{https://github.com/RoboCupAtHome/CommandGenerator}}. 65 | 66 | \item \textbf{Non-expert operators:} Referees are not allowed to instruct non-expert operators on how to operate the robot. 67 | Teams attempting to instruct or bias the operator will be disqualified from the task. 68 | 69 | \item \textbf{Deus ex Machina:} The scores are reduced if human assistance is received, in particular for: 70 | \begin{itemize} 71 | \item using a custom operator 72 | \item bypassing speech recognition by using an alternative HRI 73 | \item receiving human assistance to accomplish a task (score reduction is applied consistent with the other tasks in this rulebook) 74 | \item instructing a human assistant to perform the whole task 75 | \end{itemize} 76 | \end{enumerate} 77 | 78 | \subsection*{Referee Instructions} 79 | \begin{itemize}[nosep] 80 | \item Provide the commands to the operators. 81 | \end{itemize} 82 | 83 | \subsection*{OC Instructions} 84 | 85 | At least two hours before the test: 86 | \begin{itemize}[nosep] 87 | \item Generate the robot commands (don't reveal them to the teams!). 88 | \item Announce the location of the instruction point. 89 | \item Select 4 volunteers. 90 | \end{itemize} 91 | 92 | \noindent During the test: 93 | \begin{itemize}[nosep] 94 | \item Rearrange the arena so that it is in its nominal condition before each command. 95 | \end{itemize} 96 | 97 | \subsection*{Score Sheet} 98 | 99 | \begin{scorelist}[timelimit=5] 100 | \scoreheading{Main Goal} 101 | \scoreitem[3]{400}{Executing the task associated with each command} 102 | 103 | \scoreheading{Bonus Rewards} 104 | \scoreitem[3]{100}{Understanding a command given by a non-expert operator} 105 | 106 | \scoreheading{Deus Ex Machina Penalties} 107 | \penaltyitem[3]{50}{Using a custom operator} 108 | \penaltyitem[3]{50}{Bypassing speech recognition} 109 | \penaltyitem[3]{400}{Instructing a human to perform parts of the task will apply a percentage penalty according to similar penalties in other Stage I tests.} 110 | \end{scorelist} 111 | 112 | \clearpage 113 | -------------------------------------------------------------------------------- /chapters/Setup.tex: -------------------------------------------------------------------------------- 1 | \chapter{Setup Days} 2 | \label{chap:setupdays} 3 | The first days at a \RoboCup\AtHome{} competition before the tests start are the \SetupDays{}. This time is used by teams to assemble and test their robots and adjust to the local scenario. To foster knowledge exchange between teams, a \PS{} is held. To ensure safety and compliance with the rules, a \RobotInspection{} is conducted. 4 | 5 | \section{General Setup} 6 | \label{sec:setupdays:general} 7 | Depending on the overall \RoboCup{} schedule, the \SetupDays{} last for one or two days. 8 | 9 | \begin{itemize} 10 | \item \textbf{Start:} They start when the venue opens for the first time. 11 | \item \textbf{Intention:} Teams setup their team area and robots. 12 | \item \textbf{Tables:} The \abb{LOC} will setup and randomly assign team tables. 13 | \item \textbf{Arena:} The \Arenas{} are available to all teams of the respective league. The \abb{OC} may schedule special test or mapping slots in which arena access is limited. Note, that furnishing may not be complete yet. 14 | \item \textbf{Objects:} The delegation of \abb{EC}, \abb{TC}, \abb{OC} and \abb{LOC} will buy the objects (see~\ref{sec:rules:scenario:objects}). Note, that the objects may not be available at all times and not from the beginning. 15 | \end{itemize} 16 | 17 | \section{Poster Session} 18 | \label{sec:setupdays:postersession} 19 | The \PS{} is for teams to present their research to the \AtHome{} community. Before the session a \WelcomeReception{} is held. The time before and after the \PS{} is for teams to exchange knowledge and to get to know each other. 20 | \begin{itemize} 21 | \item \textbf{Material:} The team must send the digital material from the poster to \abb{OC} one day before the presentation. The material will be made available online for other teams. 22 | \item \textbf{Time:} The \PS{} is held in the evening of the last setup day. 23 | \item \textbf{Place:} It takes place in the \Arena{} and/or in the team area. 24 | \item \textbf{Welcome Reception:} Time for teams to gather for the \PS{}. Snacks and beverages (beers, sodas, etc.) are served. 25 | \item \textbf{Organization:} It is the responsibility of the \abb{OC} and the \abb{LOC} to organize catering and location. This includes: 26 | \begin{itemize} 27 | \item Poster stands for each team or alternatives to present the posters. 28 | \item Snacks and drinks. 29 | \item Inviting officials, sponsors, \abb{LOC}, and trustees to the event. 30 | \end{itemize} 31 | \item \textbf{Poster Presentation:} Each team gives a short presentation of their poster. 32 | \item \textbf{Discussion:} Afterwards, teams are free to look at the posters, ask questions and discuss the presentations. 33 | \end{itemize} 34 | 35 | \subsection*{Poster Presentation} 36 | \label{sec:setupdays:posterpresentation} 37 | \begin{itemize} 38 | \item \textbf{Time:} Each team has a maximum of five minutes to give a short presentation of their poster. 39 | \item \textbf{Evaluation:} The posters are evaluated by a jury consisting of one member (preferable the team leader) of each team. The evaluation should be based on the presentation, as well as, any questions and discussions. 40 | \item \textbf{Criteria:} For the following evaluation criteria, a maximum sum of 100 points is given per jury member: 41 | \begin{itemize} 42 | \item Novelty and scientific contribution - 60pts max. 43 | \item Relevance for \RoboCup\AtHome{} - 30pts max. 44 | \item Presentation (Quality of poster, presentation style, and discussion) - 10pts max. 45 | \end{itemize} 46 | \item \textbf{Score:} The total score for each team is the mean of the jury member scores. 47 | % To neglect outliers, the N best and worst scores are left out. 48 | The points are added to a team's \SONE{} score: 49 | $$ 50 | score=\frac{\sum \text{team-leader-score}}{\text{number-of-teams}} 51 | $$ 52 | \item \textbf{Sheet collection:} Evaluation sheets are collected by the \OC{} at an announced time. 53 | \end{itemize} 54 | 55 | \section{Robot Inspection} 56 | \label{sec:setupdays:inspection} 57 | Passing the \RobotInspection{} is necessary for a robot to participate in any test. 58 | 59 | \begin{itemize} 60 | \item \textbf{Schedule:} The \RobotInspection{} is held during the last day of the \SetupDays{}. A team order is announced by the \OC{} beforehand. 61 | \item \textbf{Procedure:} The inspection starts, like a regular test, with the opening of the entrance door. The robot needs to enter the \Arena{} and drive to a designated inspection point. On command (team's choice) the robot leaves through the exit door. 62 | \item \textbf{Inspectors:} The robots are inspected by the \TC{}. 63 | \item \textbf{Checked aspects:} It is checked if the robots comply with the rules (see~\ref{chap:rules}), checking in particular: 64 | \begin{itemize} 65 | \item Emergency button(s). 66 | \item Collision avoidance. An inspector steps in front of the robot. 67 | \item Voice of the robot. It must be loud and clear. 68 | \item Custom containers (bowl, tray, etc.). 69 | \item External devices. 70 | \item Alternative Human-Robot interfaces. 71 | \item Robot speed and dimension. 72 | \item Start button. 73 | \item Other safety issues (duct tape, hanging cables, sharp edges etc.). 74 | \end{itemize} 75 | \item \textbf{Re-Inspection:} If the robot is not approved, it is the responsibility of the team to get the approval later. This means, retrying directly after the regular \RobotInspection{} schedule or asking the \abb{TC} to be inspected at a later time. 76 | \item \textbf{Time Limit:} No strict time limit is given since approval of external devices can take time. But, inactive robots and robots moving too slowly or not towards the inspection point are removed quickly. 77 | \item \textbf{Accompanying Team Member:} Each robot is accompanied by only one team member (team leader is advised). 78 | \item \textbf{OC instructions (at least 2h before the Robot Inspection):} 79 | \begin{itemize} 80 | \item Announce the entry and exit doors. 81 | \item Announce the location of the inspection point. 82 | \end{itemize} 83 | \end{itemize} 84 | 85 | 86 | % Local Variables: 87 | % TeX-master: "Rulebook" 88 | % End: 89 | -------------------------------------------------------------------------------- /tasks/LARC_CarryMyLuggage.tex: -------------------------------------------------------------------------------- 1 | \section{Carry My Luggage} 2 | \label{test:carry-my-luggage} 3 | 4 | The robot's owner needs help carrying a bag from the car to the starting location. 5 | 6 | \noindent \textbf{Main Goal:} The robot assists the operator in retrieving a bag from a designated car location outside and returning to the starting point.\\ 7 | 8 | \noindent \textbf{Optional Goals:} 9 | \begin{enumerate}[nosep] 10 | \item Return to the starting location autonomously 11 | \item Follow the queue of people returning to the arena in appropriate manner. 12 | \end{enumerate} 13 | 14 | \subsection*{Focus} 15 | \emph{Person following}, \emph{navigation in unmapped environments}, \emph{social navigation}. 16 | 17 | \subsection*{Setup} 18 | \begin{itemize}[nosep] 19 | \item \textbf{Locations}: 20 | \begin{itemize} 21 | \item The test is performed outside the arena in a public space. 22 | \item The robot starts at a predefined location, announced before the test. 23 | \end{itemize} 24 | 25 | \item \textbf{People}: 26 | \begin{itemize}[nosep] 27 | \item The operator is standing in front of the robot. 28 | \item Three to four additional people are used to simulate a crowd and later form a queue. 29 | \end{itemize} 30 | 31 | \item \textbf{Objects}: 32 | \begin{itemize}[nosep] 33 | \item At least two bags are placed near the car location. 34 | \item A small object on the ground. 35 | \item A hard-to-see object. 36 | \item Retractable barriers. 37 | \end{itemize} 38 | 39 | \item \textbf{Uncontrolled environment:} There are no restrictions on other people walking by, standing near, or observing the robot throughout the test. 40 | \end{itemize} 41 | 42 | \subsection*{Procedure} 43 | \begin{enumerate}[nosep] 44 | \item \textbf{Following the operator:} The robot should inform the operator when it is ready to follow them. The operator walks naturally towards the designated car location. Upon arrival, the operator points to one of the bags. 45 | 46 | \item \textbf{Obstacles:} The robot encounters the following obstacles along its way (in arbitrary order): 47 | \begin{enumerate*}[label=(\alph*)] 48 | \item a small object on the ground, 49 | \item a hard-to-see object, 50 | \item a crowd of people obstructing the path, and 51 | \item a small area blocked using retractable barriers. 52 | \end{enumerate*} 53 | \item \textbf{Picking up the bag:} The robot must identify and pick up the bag pointed at by the operator. 54 | \item \textbf{Bag delivery:} The robot takes the bag to the starting location. It may place the bag on the floor. 55 | 56 | \item \textbf{Optional goals:} 57 | \begin{enumerate} 58 | \item \textbf{Following the queue:} After reaching the car, a few of the people that formed the crowd obstructing the robot return to the starting location in a queue. The robot can decide to join the queue on its way back, in a manner that appears natural to the people in the queue. 59 | \end{enumerate} 60 | 61 | \end{enumerate} 62 | 63 | 64 | \subsection*{Additional Rules and Remarks} 65 | \begin{enumerate}[nosep] 66 | 67 | \item \textbf{Car location:} A fixed location outside the arena is designated as the “car” area. No actual car is required. 68 | 69 | \item \textbf{Reaching the car:} The robot can reach the car location only by following the operator (the location is unknown before the test). 70 | 71 | \item \textbf{Deus ex Machina:} Penalties apply if the robot loses the operator and needs help recovering. The following forms of assistance are penalized: 72 | \begin{enumerate} 73 | \item Natural interaction (e.g., waving and calling) 74 | \item Unnatural interaction (e.g., raising both hands and jumping) 75 | \item Returning in front of the robot to resume following. 76 | \item Physical contact (e.g., pulling the robot's hand) 77 | \end{enumerate} 78 | Penalties are only applied if the robot continues to score after the interaction. Penalties can be applied multiple times up to a total of 250 points. 79 | \end{enumerate} 80 | 81 | 82 | \subsection*{Referee Instructions} 83 | 84 | The referees need to: 85 | \begin{itemize}[nosep] 86 | \item Assign one volunteer as the operator. 87 | \item Assign three to four people to obstruct the robot's path and later form a queue. 88 | \item Choose positions for the bags and assign a bag to the operator. 89 | \item Choose the order of the obstacles that the robot will face outside while following the operator. 90 | \item Designate a location outside as a car location. 91 | \item Designate a location for the queue to form. The queue is composed of the same people that form the crowd. 92 | \item Mind the robot when it moves around. 93 | \item Ensure the operator follows the robot's instructions, steps over small obstacles, and walks naturally around objects. 94 | \end{itemize} 95 | 96 | \subsection*{OC Instructions} 97 | 98 | At least two hours before test: 99 | \begin{itemize}[nosep] 100 | \item Select and announce the robot's starting point. 101 | \item Select which bags will be used in the test. 102 | \item Organize retractable barriers. 103 | \end{itemize} 104 | 105 | \subsection*{Score Sheet} 106 | 107 | \begin{scorelist}[timelimit=5] 108 | \scoreheading{Main Goal} 109 | \scoreitem{300}{Following the person to the car} 110 | \scoreitem{15}{Perceiving the correct beg (visualize on screen or say which one)} 111 | \scoreitem{100}{Picking up the correct bag} 112 | \scoreitem{50}{Avoiding the crowd of people obstructing the path} 113 | \scoreitem{50}{Avoiding the small object on the ground} 114 | \scoreitem{50}{Avoiding the hard-to-see object} 115 | \scoreitem{50}{Avoiding the area blocked with retractable barriers} 116 | 117 | \scoreheading{Bonus rewards} 118 | \scoreitem{200}{Re-reaching the starting location} 119 | \scoreitem{300}{Joining and staying in the queue on the way to the arena} 120 | 121 | \scoreheading{Penalties} 122 | \penaltyitem{50}{Dropping the bag} 123 | 124 | \scoreheading{Deus Ex Machina Penalties} 125 | \penaltyitem{50}{Rediscovering the operator by natural interaction} 126 | \penaltyitem{100}{Rediscovering the operator by unnatural interaction} 127 | \penaltyitem{150}{Rediscovering the operator by asking them to come back} 128 | \penaltyitem{200}{Rediscovering the operator by direct contact} 129 | 130 | % No longer necessary, computes automatically 131 | % \setTotalScore{1000} 132 | \end{scorelist} 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | \clearpage -------------------------------------------------------------------------------- /chapters/general_rules/Organization.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{Competition Procedure} 3 | \label{sec:rules:competitionprocedure} 4 | 5 | A \RoboCup\AtHome{} competition consists of the following stages: 6 | 7 | \begin{enumerate} 8 | \item \textbf{Poster Section:} Scientific presentation made by the team during \SetupDays{}. 9 | % All registered teams can participate. 10 | 11 | \item \textbf{\RobotInspection{}:} For security, robots are inspected during \SetupDays{}. 12 | All registered teams must participate. 13 | 14 | \item \textbf{\SONE{}:} First set of tests, assessing the robot's basic abilities . 15 | % Only teams that passed the \RobotInspection{} can participate. 16 | 17 | \item \textbf{\STWO{}:} Second set of tests, assessing more complex abilities and behaviors. 18 | % The best \SI{50}{\percent} of teams\footnotemark{} (after \SONE{}) can participate. 19 | % \footnotetext{If the total number of teams is less than 12, up to 6 teams may advance to \STWO{}} 20 | 21 | \item \textbf{\FINAL{}:} An open demonstration, asking teams to showcase complex behaviors and novel approaches. 22 | % The two best scoring teams (\SONE{} and \STWO{} combined) can participate. 23 | \end{enumerate} 24 | 25 | \begin{table}[h] 26 | \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} 27 | \newcolumntype{S}{C{1.6cm}} 28 | \newcolumntype{M}{C{3.2cm}} 29 | \begin{center} 30 | \begin{tabularx}{14.56cm}{S|S|S|S|S|S|S|S} 31 | \hline 32 | \multicolumn{2}{|M|}{ \cellcolor[HTML]{FFFFC7}Setup Days} & 33 | \multicolumn{2}{M|}{ \cellcolor[HTML]{67FD9A}\iterm{Stage~I}} & 34 | \multicolumn{2}{M|}{ \cellcolor[HTML]{9698ED}\iterm{Stage~II}} & 35 | \multicolumn{2}{M|}{ \cellcolor[HTML]{FFCCC9}\iterm{Finals}}\\ 36 | \hline 37 | %Second row 38 | \multicolumn{1}{S|}{} & 39 | \multicolumn{2}{M|}{$\xrightarrow{advance}$\newline All teams that \newline passed Inspection} & 40 | \multicolumn{2}{M|}{$\xrightarrow{advance}$\newline All teams} & 41 | \multicolumn{2}{M|}{$\xrightarrow{advance}$\newline 3 best teams} & 42 | \multicolumn{1}{C{1.2cm}}{~} 43 | \\ \cline{2-7} 44 | \end{tabularx} 45 | \end{center} 46 | \end{table} 47 | 48 | % \noindent In case of having no considerable score deviation between a team advancing to the next stage and a team dropping out, the \TC{} may announce additional teams advancing to the next stage. 49 | 50 | % \subsection{Scenarios} 51 | % \label{sec:rules:scenarios} 52 | % The tests in \SONE{} and \STWO{} are divided in two thematic scenarios: 53 | % \begin{itemize} 54 | % \item \textbf{\Housekeeper{}:} Features tests related to cleaning, organizing, and maintenance. 55 | 56 | % \item \textbf{\Partyhost{}:} Focuses on providing general assistance during a party by attending the needs of the guests. 57 | % \end{itemize} 58 | 59 | 60 | % \subsection{Schedule} 61 | % \label{sec:rules:schedule} 62 | % There are two \Testblocks{} in a competition day. Each block has a stage and one or two thematic scenarios assigned. An exception is the \emph{Restaurant} test (see~\ref{test:restaurant}) which has its own block. During a block, each team has at least two \Testslots{} available, where they can choose which test, fitting the stage and scenario, they want to perform. The teams must inform the \OC{} which tests they will perform a day prior, usually in the \TLM{} (see~\ref{sec:rules:teamleadermeeting}). Teams have to indicate to the \abb{OC} when they are skipping a \Testslot{}. Without such indication, they may receive a penalty (see~\ref{sec:rules:missingslot}). 63 | 64 | % Please add the following required packages to your document preamble: 65 | % \usepackage[table,xcdraw]{xcolor} 66 | % If you use beamer only pass "xcolor=table" option, i.e. \documentclass[xcolor=table]{beamer} 67 | % \begin{table}[H] 68 | % \centering\small 69 | % \newcommand{\teams}[2]{% 70 | % \tiny 71 | % \begin{tabular}{c}% 72 | % \textit{Slot $1$, Team $#1$}\\ 73 | % $\vdots$\\ 74 | % \textit{Slot $N$, Team $#2$}\\ 75 | % \textit{Slot $N+1$, Team $#1$}\\ 76 | % $\vdots$\\ 77 | % \textit{Slot $2N$, Team $#2$}\\ 78 | % \end{tabular} 79 | % } 80 | % \newcommand{\wcell}[2]{% 81 | % \parbox[c]{2.5cm}{% 82 | % \vspace{#1}% 83 | % \centering% 84 | % #2% 85 | % \vspace{#1}% 86 | % }% 87 | % } 88 | % \newcommand{\cell}[1]{\wcell{0.2\baselineskip}{#1}} 89 | % % \newcommand{\mr}[1]{\multirow{2}{*}{#1}} 90 | 91 | 92 | % \begin{tabular}{ 93 | % >{\centering\arraybackslash}m{2.5cm}|% 94 | % >{\columncolor[HTML]{9AFF99}}c |% 95 | % >{\columncolor[HTML]{9AFF99}}c |% 96 | % >{\columncolor[HTML]{CBCEFB}}c |% 97 | % >{\columncolor[HTML]{FF8D27}}c % 98 | % } 99 | % \multicolumn{1}{ c }{} 100 | % & \multicolumn{1}{ c }{\cellcolor{white} Day 1 } 101 | % & \multicolumn{1}{ c }{\cellcolor{white} Day 2 } 102 | % & \multicolumn{1}{ c }{\cellcolor{white} Day 3 } 103 | % & \multicolumn{1}{ c }{\cellcolor{white} Day 4 } 104 | % \\\hhline{~---~} 105 | 106 | % \cell{Block 1\\\footnotesize(9:00--12:00)} 107 | % & \cell{Housekeeper\\\teams{i}{j}} 108 | % & \cell{Housekeeper\\~\\Party Host} 109 | % & \cell{Restaurant} 110 | % & \cellcolor{white} 111 | % \\\hhline{~----} 112 | 113 | 114 | 115 | % \multicolumn{1}{ c }{} 116 | % & \multicolumn{3}{ c }{\wcell{0.5\baselineskip}{\color{gray}Lunch}} 117 | % & \multicolumn{1}{|c|}{\cellcolor[HTML]{FF8D27}\cell{\textbf{Finals}}} 118 | % \\\hhline{~----} 119 | 120 | % \cell{Block 2\\\footnotesize(14:00--17:00)} 121 | % & \cell{Party Host\\\teams{k}{l}} 122 | % & \cellcolor[HTML]{CBCEFB}\cell{Party Host} 123 | % & \cell{Housekeeper} 124 | % & \cellcolor{white} 125 | % \\\hhline{~---~} 126 | 127 | % \multicolumn{1}{ c }{} 128 | % & \multicolumn{1}{ c }{\wcell{0.5\baselineskip}{\color[HTML]{029734}Stage 1}} 129 | % & \multicolumn{1}{ c }{\cellcolor{white}} 130 | % & \multicolumn{1}{ c }{\wcell{0.5\baselineskip}{\color[HTML]{6668e5}Stage 2}}\\ 131 | % \end{tabular} 132 | 133 | % \caption{Example schedule. 134 | % Each of the $N$ teams has two slots assigned per block. 135 | % At least two blocks are scheduled per day with assigned themes. 136 | % } 137 | % \label{tbl:schedule} 138 | % \end{table} 139 | 140 | % \noindent\textbf{Note:} The schedule will be announced during \SetupDays{} (see~\ref{chap:setupdays}) by the \abb{OC}. 141 | 142 | 143 | \subsection{Team Leader Meeting} 144 | \label{sec:rules:teamleadermeeting} 145 | In the evening before each competition day, a \TLM{} is held. 146 | Attendance from all teams participating in the next day's tests is mandatory. 147 | During the meeting, teams can ask questions and discuss the upcoming tests with the \abb{TC} and \abb{OC}. 148 | The starting time will be announced by the \abb{OC}. 149 | Decisions made in the \TLM{} are binding. 150 | The \abb{TC} and referees on site will decide on anything coming up during or after a test. 151 | 152 | \subsection{Scoring System} 153 | \label{sec:rules:scoringsystem} 154 | Each test has a main objective and a set of bonuses. 155 | % To score in a test, a team must accomplish the main goal (in parts if allowed). 156 | Bonuses are only given if at least \SI{50}{\percent} of the points for the main goal are achieved. 157 | Overall scoring in a stage is calculated as the sum of the maximum score obtained in each test. 158 | % The final score is calculated differently and is normalized (see~\ref{sec:finals:scoring}). 159 | A team cannot get a negative score for a test. 160 | % unless a penalty was received. 161 | 162 | \paragraph*{Note: } Once a scoresheet has been signed by the team leader or the scores have been published, the \abb{TC} decision is irrevocable. 163 | 164 | % Local Variables: 165 | % TeX-master: "../Rulebook" 166 | % End: 167 | -------------------------------------------------------------------------------- /tasks/LARC_Restaurant.tex: -------------------------------------------------------------------------------- 1 | \section{Restaurant} 2 | \label{test:restaurant} 3 | 4 | \subsection*{Description} 5 | 6 | The robot retrieves and serves orders to several customers in a real restaurant previously unknown to the robot. 7 | 8 | \textbf{Main goal:} 9 | Detect calling or waving customer, reach a customer’s table without prior guidance/training. Take and serve all orders. 10 | 11 | \textbf{Optional goal:} 12 | Use an unattached tray to transport the order. 13 | 14 | 15 | \subsection*{Focus} 16 | This task focuses on 17 | \textit{Task planning}, 18 | \textit{Online mapping}, 19 | \textit{Navigation in unknown environments}, 20 | \textit{Gesture detection}, 21 | \textit{Verbal interaction} and 22 | \textit{Object manipulation}. 23 | 24 | \subsection*{Setup} 25 | \begin{itemize}[nosep] 26 | \item \textbf{Locations:} 27 | \begin{itemize} 28 | \item This task takes place in a real restaurant fully equipped and in business. When this is not possible, the test can be conducted in any place with the appropriate locations other than the \Arena{}. 29 | \item The \emph{Restaurant} location will remain secret until the start of the test. 30 | \item The robot starts next to the \emph{Kitchen-bar}. It is a table located near the restaurant's kitchen. 31 | \end{itemize} 32 | \item \textbf{People:} 33 | \begin{itemize} 34 | \item A \emph{Professional Barman} (member of the TC) awaits at the other side of the \emph{Kitchen-bar} for orders to be placed. The \emph{Professional Barman} assists the robot on request. 35 | \item There may be real customers and waiters around. 36 | \item There are at least three tables occupied with professional customers (member of the OC/TC). 37 | \item There are at least two tables occupied with regular customers. 38 | \item Customers may call the robot any time, even simultaneously. 39 | \end{itemize} 40 | \item \textbf{Furniture:} The furniture is not standardized and will be kept the same as the restaurant or place selected for the task. 41 | \item \textbf{Objects:} 42 | \begin{itemize} 43 | \item Objects to fulfill orders are located on the Kitchen-bar. 44 | \item Orders have between one and three objects randomly chosen. 45 | \item All edible/drinkable objects from the list of standard objects are eligible to be part of the orders. 46 | \end{itemize} 47 | \end{itemize} 48 | 49 | \subsection*{Procedure} 50 | 51 | \begin{enumerate} 52 | \item The referee requests the team to move the robot to the start location. 53 | \item The referee gives the start signal and starts the timer. 54 | \item The team leaves the area after the start signal. 55 | \item A TC member follows the robot ready to press the emergency stop button. 56 | \item The robot detect calling or waving customer and reach a customer's table. 57 | \item The robot takes the customer's order, place the order, and deliver it. 58 | \item \textbf{Optionally}, the robot can use an unattached tray to transport the order. 59 | \end{enumerate} 60 | 61 | 62 | \subsection*{Additional rules and remarks} 63 | \begin{itemize} 64 | \item \textbf{Remarks:} 65 | \begin{itemize} 66 | \item This test takes place in a public area. The robot is expected to not even slightly touch anyone or anything and is immediately stopped in case of danger. 67 | \item Since this task is performed outside the arena, the time limit may be longer than the others tasks. 68 | \item The availability of wireless, external computing devices, or electrical outlets can't be guaranteed. Assume unavailability. 69 | \item The robot interacts with the operators, not the team. The team is not allowed to instruct anyone. All instructions should be provided by the robot itself. 70 | \item The robot may use up to one minute to instruct the \textit{Professional Barman}. 71 | \item The robot can request to be guided to a customer's table. 72 | \item The robot can choose to take several orders and place them later on, place an order and pick the next one while the former is being served, or dispatch one order at a time. 73 | \item The robot should politely confirm the order to the client when receiving it, keeping the guest pleased. 74 | \item The robot can either transport each object individually, or using a tray. All delivered objects must be placed on the customer's table. 75 | \item For transport with an unattached tray, the robot must pick up the objects and place them on a tray, pick up the tray, and then place the objects from the tray on the table (first placing the tray on the table is allowed). 76 | \item If requested, the barman will place the order in a basket or tray for the robot to deliver it. 77 | \item Upon arrival to the restaurant, only two team members are allowed next to the robot for watching and charging. 78 | \item If a person from the audience (severely) interferes with the robot in a way that makes it impossible to solve the task, the teams may repeat the test immediately. 79 | \item Each Deus Ex Machina penalty for skipping manipulation will only be applied twice per order so receiving an order with three objects is not more punishing. 80 | \item If the robot detects a customer but does not reach their table, the robot must clearly show who was detected to receive points, i.e. displaying a picture of the person. 81 | \item When a team is at the front of the queue, they are allowed to begin their startup procedure (the robot must remain in place). When it is their turn, they must bring the robot directly and in a straight line from the front of the queue to the start location. Once at the start location only slight movements are allowed (no moving back and forth, no full rotations etc.) 82 | \end{itemize} 83 | \item \textbf{Disqualification:} 84 | \begin{itemize} 85 | \item Touching the robot after the start signal. 86 | \item Mapping the area in advance. 87 | \end{itemize} 88 | \end{itemize} 89 | 90 | \subsection*{Instructions:} 91 | 92 | \subsubsection*{To Referee} 93 | 94 | The referee needs to: 95 | \begin{itemize} 96 | \item Prepare orders for each client. 97 | \end{itemize} 98 | 99 | \subsubsection*{To OC} 100 | The OC needs to: 101 | \begin{itemize}[nosep] 102 | \item \textbf{During Setup days:} Check with local (security) management if the possible location, including a sufficient queuing area, can be used for the restaurant test. 103 | \item \textbf{1 hour before the test:} Gather all teams and robots to move to some nearby queuing area and instruct the teams how/when to move to the actual test location. 104 | \item \textbf{2 hours before the test:} Select 5 volunteers. 105 | \end{itemize} 106 | 107 | \newpage 108 | \subsection*{Score sheet} 109 | \begin{table}[h] 110 | \begin{tabular}{m{0.85\linewidth} c} 111 | \textbf{Maximum time}: & 15 minutes \\ 112 | \end{tabular} 113 | \end{table} 114 | 115 | \small\begin{scorelist}[timelimit=15] 116 | \scoreheading{Regular Rewards} 117 | \scoreitem[2]{100}{Detect calling or waving customer} 118 | \scoreitem[2]{100}{Reach a customer's table without prior guidance/training} 119 | 120 | \scoreitem[2]{200}{Understand and confirm the order received to the customer} 121 | \scoreitem[2]{100}{Communicate the order to the barman} 122 | 123 | \scoreitem[2]{100}{Return to the customer table with the order} 124 | \scoreitem[2]{200}{Serve the order to the customer} 125 | 126 | \scoreheading{Bonus Rewards} 127 | \scoreitem[2]{200}{Use an unattached tray to transport} 128 | 129 | \scoreheading{Regular Penalties} 130 | \penaltyitem[2]{200}{Being guided to a table} 131 | \penaltyitem[2]{80}{Not making eye-contact when taking an order} 132 | \penaltyitem[2]{80}{Not reaching the bar (barman has to move from behind the bar to interact with the robot)} 133 | 134 | \scoreheading{Deus ex Machina Penalties} 135 | \penaltyitem[4]{50}{Asking the Barman to handover object to the robot} 136 | \penaltyitem[4]{50}{Guest needing to take the object from a tray or the robot's hand} 137 | \penaltyitem[2]{100}{Being told/pointed where is a table/\textit{Kitchen-bar}} 138 | 139 | \end{scorelist} 140 | \clearpage 141 | -------------------------------------------------------------------------------- /setup_tex/macros.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: macros.tex 399 2013-02-14 20:24:02Z holz $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: Macros for the RoboCupAtHome rulebook 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | % rubber: setlist arguments --shell-escape 9 | 10 | \newcommand{\rulebookVersion}{\STATE\ version for Latin American Robotics Competition \YEAR\xspace 11 | % (\VERSION) 12 | } 13 | 14 | \def\RoboCup{{\textsc{RoboCup}}} 15 | \def\Robocup{{\textsc{RoboCup}}} 16 | \def\robocup{{\textsc{RoboCup}}} 17 | \def\AtHome{{\textsc{@Home}}} 18 | \def\OPL{\iaterm{Open Platform League}{OPL}} 19 | \def\SPL{\iaterm{Standard Platform League}{SPL}} 20 | \def\SPLs{\iaterm{Standard Platform Leagues}{SPL}} 21 | \def\DSPL{\iaterm{Domestic Standard Platform League}{DSPL}} 22 | \def\SSPL{\iaterm{Social Standard Platform League}{SSPL}} 23 | 24 | \def\TC{\iaterm{Technical Committee}{TC}} 25 | \def\OC{\iaterm{Organizing Committee}{OC}} 26 | \def\LOC{\iaterm{Local Organizing Committee}{LOC}} 27 | \def\EC{\iaterm{Executive Committee}{EC}} 28 | \def\RCF{\iaterm{RoboCup Federation}{RCF}} 29 | 30 | \def\HRI{\iterm{Human-Robot Interaction}} 31 | \def\NAV{\iterm{Navigation}} 32 | \def\MAP{\iterm{Mapping}} 33 | \def\CV{\iterm{Computer Vision}} 34 | \def\OR{\iterm{Object Recognition}} 35 | \def\MAN{\iterm{Manipulation}} 36 | \def\AB{\iterm{Adaptive Behaviors}} 37 | \def\BI{\iterm{Behavior Integration}} 38 | \def\AmI{\iterm{Ambient Intelligence}} 39 | \def\SysI{\iterm{System Integration}} 40 | \def\PerDet{\iterm{Person Detection}} 41 | \def\PerRec{\iterm{Person Recognition}} 42 | \def\GestRec{\iterm{Gesture Recognition}} 43 | 44 | \def\RR{\iterm{Rulebook Repository}} 45 | \def\TG{\iterm{Telegram Group}} 46 | \def\WIKI{\iterm{Wiki}} 47 | 48 | \def\HSR{\iterm{Toyota HSR}} 49 | \def\MountingBracket{\iterm{Mounting Bracket}} 50 | \def\PEPPER{\iterm{Softbank Pepper}} 51 | 52 | \def\SetupDays{\iterm{Setup Days}} 53 | \def\PS{\iterm{Poster Session}} 54 | \def\WelcomeReception{\iterm{Welcome Reception}} 55 | \def\RobotInspection{\iterm{Robot Inspection}} 56 | \def\SONE{\iterm{Stage~I}} 57 | \def\STWO{\iterm{Stage~II}} 58 | \def\FINAL{\iterm{Finals}} 59 | \def\Housekeeper{\iterm{Housekeeper}} 60 | \def\Partyhost{\iterm{Party Host}} 61 | \def\Testblock{\iterm{Test Block}} 62 | \def\Testslot{\iterm{Test Slot}} 63 | \def\Testblocks{\iterm{Test Blocks}} 64 | \def\Testslots{\iterm{Test Slots}} 65 | 66 | \def\HRIAward{\iterm{Best Human-Robot Interface Award}} 67 | \def\DSPLPosterAward{\iterm{Best DSPL Poster Award}} 68 | \def\SSPLPosterAward{\iterm{Best SSPL Poster Award}} 69 | \def\OPLPosterAward{\iterm{Best OPL Poster Award}} 70 | \def\OCAward{\iterm{Best Open Challenge Award}} 71 | \def\PGAward{\iterm{Procter \& Gamble Dishwasher Challenge Award}} 72 | 73 | 74 | \def\TDP{\iaterm{Team Description Paper}{TDP}} 75 | \def\TLM{\iterm{Team Leader Meeting}} 76 | \def\OLC{\iterm{Open Loop Control}} 77 | 78 | \def\Application{\iterm{Application}} 79 | \def\Qualification{\iterm{Qualification}} 80 | \def\Registration{\iterm{Registration}} 81 | \def\CFP{\iaterm{Call for Participation}{CFP}} 82 | 83 | \def\TeamVideo{\iterm{Team Video}} 84 | \def\TeamWebsite{\iterm{Team Website}} 85 | 86 | \def\VizBox{\iterm{VizBox}} 87 | \def\Arena{\iterm{Arena}} 88 | \def\Arenas{\iterm{Arenas}} 89 | \def\ArenaNetwork{\iterm{Arena Network}} 90 | 91 | \def\ObjectCategory{\iterm{Object Category}} 92 | \def\PredefinedLocation{\iterm{Predefined Location}} 93 | \def\KnownObjects{\iterm{Known Objects}} 94 | \def\SimilarObjects{\iterm{Similar Objects}} 95 | \def\ConsistentObjects{\iterm{Consistent Objects}} 96 | \def\UnknownObjects{\iterm{Unknown Objects}} 97 | \def\StandardObjects{\iterm{Standard Objects}} 98 | \def\YCBData{\iterm{YCB Dataset}} 99 | \def\PredefinedName{\iterm{Predefined Name}} 100 | 101 | \def\EmergencyStop{\iterm{Emergency Stop}} 102 | \def\StartButton{\iterm{Start Button}} 103 | \def\ExternalDevice{\iterm{External Device}} 104 | \def\ExternalComputing{\iterm{External Computing}} 105 | \def\ECRA{\iaterm{External Computing Resource Area}{ECRA}} 106 | \def\DEM{\iaterm{Deus ex Machina}{DEM}} 107 | 108 | \def\NumObjects{30} 109 | \def\NumLocations{20} 110 | \def\NumNames{20} 111 | 112 | \def\Referee{\iterm{Referee}} 113 | \def\Referees{\iterm{Referees}} 114 | \def\Volunteer{\iterm{Volunteer}} 115 | \def\Volunteers{\iterm{Volunteers}} 116 | \def\CustomOperator{\iterm{Custom Operator}} 117 | 118 | \def\CommandGen{\iterm{GPSR Command Generator}} 119 | 120 | 121 | 122 | \newcommand{\textbi}[1]{\textbf{\textit{#1}}} 123 | \renewcommand{\labelenumi}{\arabic{enumi}.} 124 | \renewcommand{\labelenumii}{\labelenumi\arabic{enumii}.} 125 | \renewcommand{\labelenumiii}{\labelenumii.\arabic{enumiii}.} 126 | 127 | \newcommand{\testtocentry}[1]{% 128 | \nameref{#1}\dotfill\pageref{#1}\\[0.2\baselineskip]% 129 | } 130 | 131 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 132 | %% Developement-Tools %% 133 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 134 | 135 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 136 | \newcommand{\tbc}[1]{\textbf{\it\color{red}{t.b.c. ...}#1\color{black}}} 137 | \newcommand{\todo}[1]{\textbf{\textit{\color{red}{todo: }#1\color{black}}}} 138 | \newcommand{\TODO}[1]{\textbf{\textit{\color{red}{TODO:\\}#1\color{black}}}} 139 | \newcommand{\chk}[1]{\textbf{\color{red}#1\color{black}}} 140 | 141 | \newcommand{\reworkon}{\marginpar{\raggedright\color{red}{$\downarrow$rework}\color{black}}} 142 | \newcommand{\reworkoff}{\marginpar{\raggedright\color{red}{$\uparrow$rework}\color{black}}} 143 | 144 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 145 | %% site notes/margin notes 146 | \def\note#1{\marginpar{\raggedright\tiny#1}} 147 | \def\mpar#1{\marginpar{\raggedright\tiny#1}} 148 | \def\rand#1{\marginpar{\raggedright\tiny#1}} 149 | \setlength{\marginparwidth}{2cm} 150 | 151 | \newcommand{\refsec}[1]{Section~\ref{#1}} 152 | \newcommand{\reftab}[1]{Table~\ref{#1}} 153 | \newcommand{\reffig}[1]{Figure~\ref{#1}} 154 | 155 | %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 156 | %% side-annotation-macros for easy lookup 157 | % \newcommand{\awardmark}{\marginpar{\centering\includegraphics[width=.34cm]{images/icon_award.pdf}}} 158 | % \newcommand{\refmark}{\marginpar{\centering\includegraphics[width=.5cm]{images/icon_whistle.pdf}}} 159 | % \newcommand{\referee}[1]{\emph{#1}\marginpar{\centering\includegraphics[width=.5cm]{images/icon_whistle.pdf}}} 160 | % \newcommand{\scoremark}{\marginpar{\centering\includegraphics[width=.34cm]{images/icon_score.pdf}}} 161 | \newcommand{\awardmark}{} 162 | \newcommand{\refmark}{} 163 | \newcommand{\referee}[1]{} 164 | \newcommand{\scoremark}{} 165 | %\newcommand{\scoring}[1]{\emph{#1}\marginpar{\centering\includegraphics[width=.34cm]{images/icon_score.pdf}}} 166 | \newcommand{\scoring}[1]{\emph{#1}} 167 | \newcommand{\timark}{\marginpar{\centering\includegraphics[width=.34cm]{icon_clock.pdf}}} 168 | 169 | %\newcommand{\timing}[1]{\emph{#1}\marginpar{\centering\includegraphics[width=.34cm]{images/icon_clock.pdf}}} 170 | \newcommand{\timing}[1]{\emph{#1}} 171 | 172 | \def\svnRevision{Unknown} % 173 | \def\svnChangeData{Unknown} % 174 | \def\revnumtmpfile{.temp_rulebook_version} 175 | \def\revdattmpfile{.temp_rulebook_date} 176 | \immediate\write18{git rev-list HEAD | wc -l > \revnumtmpfile} 177 | %\immediate\write18{svnversion . > \revnumtmpfile} 178 | \IfFileExists{\revnumtmpfile}{\def\svnRevision{\input{\revnumtmpfile}\unskip}}{} 179 | \immediate\write18{git log -1 --date=short | grep 'Date:' | awk '{print $2}'> \revdattmpfile} 180 | %\immediate\write18{svn info | grep 'Last Changed Date:' | awk '{print $4}'> \revdattmpfile} 181 | \IfFileExists{\revdattmpfile}{\def\svnChangeData{\input{\revdattmpfile}\unskip}}{} 182 | % \IfFileExists{\revnumtmpfile}{\immediate\write18{rm -f \revnumtmpfile}}{} 183 | % \IfFileExists{\revdattmpfile}{\immediate\write18{rm -f \revdattmpfile}}{} 184 | \newcommand{\VERSION}{Revision \svnChangeData\_\svnRevision} 185 | 186 | 187 | % Local Variables: 188 | % TeX-master: "../Rulebook" 189 | % End: 190 | -------------------------------------------------------------------------------- /Local_chair_instructions.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% 3 | %% $Id: Rulebook.tex $ 4 | %% author(s): RoboCupAtHome Technical Committee(s) 5 | %% description: introduction to Local chair 6 | %% 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | \documentclass[11pt, twoside, openright, a4paper, chapterprefix]{article} 9 | % \usepackage[inner=2.5cm, outer=2.5cm, top=4cm, bottom=4cm]{geometry} 10 | 11 | %%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12 | \usepackage{graphicx} 13 | % \input{./setup_tex/packages.tex} 14 | % \input{./setup_tex/config.tex} 15 | % \input{./setup_tex/styling.tex} 16 | % \input{./setup_tex/active_version.tex} 17 | % \input{./setup_tex/abbrevix.tex} 18 | % \input{./setup_tex/macros.tex} 19 | % \input{./setup_tex/macros_score_sheets.tex} 20 | % \input{./setup_tex/macros_open_demonstrations.tex} 21 | % \input{./setup_tex/macros_leagues.tex} 22 | 23 | % \graphicspath{{\YEAR/}{./images/}} 24 | \graphicspath{{./images/}} 25 | 26 | % \makeindex 27 | % \makeabbex 28 | 29 | % \newcommand{\sectionbreak}{\clearpage} 30 | % \newcommand{\subsectionbreak}{\clearpage} 31 | 32 | \begin{document} 33 | 34 | % titlepage 35 | \begin{titlepage} 36 | \begin{center} 37 | { 38 | \includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg} 39 | \hfill 40 | \includegraphics[width=.23\textwidth]{images/logo_rcbrazilhome.png}\\ 41 | [1.23ex] 42 | } 43 | \vspace{2.7 cm} 44 | \hrulefill\par 45 | {% 46 | \vspace*{.27cm} 47 | \Huge{RoboCup Brazil Open}\\[1.23ex] 48 | \Huge{RoboCup@Home}\\[1.23ex] 49 | \Large Instuctions for Local Chair 2023\\[2ex] 50 | } 51 | \hrulefill\par 52 | \vfill 53 | ~~ Last Build Date: \today \quad 54 | \vfill 55 | \end{center} 56 | \end{titlepage} 57 | % \clearpage 58 | 59 | 60 | % \input{./titlepage} 61 | % \pagestyle{empty} 62 | % \input{./acknowledgments} 63 | % \pagestyle{empty} 64 | % \input{./example_skills.tex} 65 | % \clearpage 66 | 67 | % \pagestyle{empty} 68 | % \setcounter{tocdepth}{1} 69 | % \tableofcontents 70 | \clearpage 71 | 72 | % \pagestyle{plain} 73 | 74 | % \renewcommand{\chapter}{Lecture} 75 | 76 | 77 | \section{arena} 78 | 79 | Do not use the same arena configuration for more than two consecutive years. 80 | 81 | 82 | 83 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 84 | \textbf{area} & : & Between $80m^2$ and $100m^2$. \\ 85 | \textbf{style} & : & Country standard. \\ 86 | \textbf{decoration} & : & According to the customs of the country. \\ 87 | \textbf{minimum Composition} & : & Living room, office, bedroom and kitchen. 88 | \end{tabular} 89 | 90 | 91 | \subsection{walls} 92 | 93 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 94 | \textbf{Minimum height} & : & 60 cm \\ 95 | \textbf{Maximum height} & : & It should not disrupt the public's view. \\ 96 | \textbf{Decoration} & : & The walls may contain poster or pictures. 97 | \end{tabular} 98 | 99 | \subsection{Floor} 100 | 101 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 102 | \textbf{Type} & : & With some grip to prevent robots from shaking. \\ 103 | \textbf{Color/texture} & : & Same color or texture of the wall \\ 104 | \textbf{Steps} & : & There should be no steps. \\ 105 | \textbf{Carpet} & : & There should be no carpet. 106 | \end{tabular} 107 | 108 | \subsection{Doors} 109 | 110 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 111 | \textbf{Amount} & : & At least two doors. Entry and exit of the arena. The entrance door should open to inside the houve, as the output door should open to outside the house. \\ 112 | \textbf{Knobs} & : & The door handles should be rectangular preferably. Do not use round door handles. 113 | \end{tabular} 114 | 115 | \subsection{Furniture} 116 | 117 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 118 | \textbf{Type} & : & Typical of the country. \\ 119 | \end{tabular} 120 | 121 | \begin{description} 122 | \item [1] small dining table with two to four chairs. 123 | \item [1] sofa with two or three places. 124 | \item [2] chairs or armchairs. 125 | \item [1] Television hack. 126 | \item [1] television with remote control. 127 | \item [1] bookshelf (with some books inside). 128 | \item [1] a refrigerator (should not be less than 120 cm). 129 | \item [2] plant glass. 130 | \item [1] dishwasher. 131 | \item [1] bed. 132 | \item [1] Office table with chair. 133 | \item [2] trash bins with 20 cm (minimum) diameter at the opening. They must have removable lids with rigid straps. 134 | \end{description} 135 | 136 | \section{Arena objects} 137 | 138 | \subsection{Table utensils} 139 | \begin{description} 140 | \item [1] Set of dishes (minimum 3 items). 141 | \item [1] Set of bowls (minimum 3 items). 142 | \item [1] Set of cups (minimo 3 items). 143 | \item [1] Napkin package. 144 | \item [1] Set of cutlery (fork, knife and spoon). 145 | \item [10] plastic trash bags (medium size). 146 | \item [4] Shopping bags: Light and with rigid straps. 147 | \item [2] trays: tray or basket, intended for handling with both hands. 148 | \item [1] Object that I can put liquid (for example, jar). 149 | \item [1] heavy object: weight between 1.0kg and 1.5kg (for example, water bottle). 150 | \item [1] Tiny object: light, not larger than 5 $cm^3$ (for example, tea bag). 151 | \item [1] Fragile object: easy to break (for example, egg). 152 | \item [1] A deformable object: flexible that can appear in different forms (for example, cloth). 153 | \end{description} 154 | 155 | \subsection{Objects for recognition and manipulation} 156 | 157 | The objects are presented to competitors with kits. 158 | 159 | \begin{tabular}{ p{0.3\linewidth} p{0.01\linewidth} p{0.6\linewidth}} 160 | \textbf{Manipulation} & : & All objects must be parasible to manipulate with only one hand and weigh a maximum of 1.5kg. \\ 161 | \textbf{Amount} & : & The number of kits is defined by the number of participating teams. 1 kit for the arena and 1 kit for every 3 participating teams. \\ 162 | \textbf{Definition} & : & The items are defined during the competition (Warm Up). \\ 163 | \textbf{Items} & : & Kits should be between 15 and 20 items. The number of items should be balanced between categories. They may contain, for example, the following elements: 164 | \end{tabular} 165 | 166 | \resizebox{\textwidth}{!}{ 167 | \begin{tabular}{|c|c|c|c|c|c|} 168 | \hline 169 | Drinks & Cleaning supplies & Pantry items & Fruits & Snacks & Cutlery\\ 170 | \hline 171 | Coconut Water & Cleaner & Corn Flakes & Apple & Cookie & Spoon \\ 172 | Coke & Cloth & English Sauce & Banana & Pringles & Fork\\ 173 | Guarana & Sponge & Mustard & Orange & Doritos & Knife\\ 174 | Ice Tea & Brush & Tomato Sauce & Kiwi & Cornflakes & Plate\\ 175 | Tonic & dish polisher & Tuna Can & Lemon & Peanuts & Bowl\\ 176 | Water & steel wool & Corn Flakes & Tangerine & Gum Balls & Mug\\ 177 | \hline 178 | \end{tabular} 179 | } 180 | 181 | NOTE: A representative of the local organization must accompany the category coordinator to a local supermarket to overcome the items. 182 | 183 | \section{Other materials} 184 | 185 | \begin{description} 186 | \item [1] Stopwatch. 187 | \item [$n$${}^\star$] Poster supports. 188 | \item [1] Sound system with at least one lapel to connect to the robot. 189 | \item [1] Monitor for score presentation and information to the public. 190 | \item [1] Exclusive arena wifi network with internet connection. 191 | \end{description} 192 | ${}^\star$ $n$ is the number of teams in the competition. 193 | 194 | 195 | 196 | \end{document} 197 | -------------------------------------------------------------------------------- /tasks/LARC_Final.tex: -------------------------------------------------------------------------------- 1 | \chapter{Finals} 2 | \label{chap:finals} 3 | 4 | The competition ends with the Finals on the last day. 5 | % where the two teams with the highest total score compete. 6 | The \iterm{Finals} are conducted as a final themed demonstration. 7 | %To avoid logistical issues during the last day of the competition, the \iterm{Finals} are divided into two sets of demonstrations: the Bronze Competition and the RoboCup @Home Grand Finale. 8 | %The Bronze Competition is a set of demonstrations that are carried out before the RoboCup @home Grand Finale. Here, all the leagues run in parallel, with the fourth and third highest scored teams competing for the bronze. 9 | %Finally, the two teams with the highest score in each League present their demonstrations in a serialized manner during the RoboCup @Home Grand Finale. 10 | % Even though each league has its own first, second and third place, 11 | The \iterm{Finals} are meant to show the best of the league to the jury members as well as the audience. 12 | % and, thus, warrants a single schedule slot. 13 | 14 | \section{Structure and Theme} 15 | 16 | % The \iterm{Finals} are a demonstration of achieving an objective that is pre-selected by the TC/EC. 17 | % These objectives are chosen as a type of yearly theme of the competition, and to provide a baseline for the juries (not to mention the audience) to state which team is the winner. 18 | 19 | The presentation must be conducted in two stages: 20 | The first stage should be a pitch for the robot project in 5 minutes. 21 | The second stage must be a demonstration of the real robot performing a specific task determined by the TC/EC in 10 minutes. 22 | 23 | The objectives for the league for this year are: 24 | % The robot helps a person that has had a small accident in their home. 25 | % The robot helps a person in preparing dinner. 26 | % The robot helps an elderly person with their routine. 27 | The robot must deal with a laundry routine. The team can strategically focus on all steps of the laundry (collecting clothes, separating clothes, putting clothes in the washing machine, putting cleaning products, removing clothes from the machine, putting clothes to dry, ironing, folding, and storing clothes), or can focus on just a few of these steps. The robot can perform the task alone or helping the human being collaboratively. It will be up to the judges to decide which solution was best sold and executed. 28 | 29 | 30 | 31 | % \begin{itemize} 32 | % \item \emph{OPL/DSPL}: 33 | % \item \emph{SSPL}: The robot monitors a person while they are going about their day and reacts appropriately if it notices any unusual events. 34 | % \end{itemize} 35 | 36 | 37 | The teams are expected to provide a demonstration that is telling a story which includes achieving the objective. The teams can choose freely how to achieve it, which includes choosing the participants, what items to use, the methods employed, etc. The juries, as explained later, will reward elegance and difficulty. 38 | 39 | As it can be seen, the objectives are open enough that a story can be told around them which can include additional objectives that the team wants their robot to also solve. Thus, the teams are welcome to include in their demonstration any additional tasks to be solved, which can serve as a type of forum where they can present their own research. The innovation and success of these tasks will also be used as part of the score. In this regard, it is expected that teams present the scientific and technical contributions they submitted in \iterm{team description paper}. 40 | 41 | In addition, teams may provide a printed document to the jury (max 1 page) that summarizes the demonstrated robot capabilities and contributions. However, teams are discouraged to provide any material that would distract from their demonstration. 42 | 43 | Story-telling is an important factor, so it is recommended to spend the least amount of time using the microphone to explain the demonstration and let the demonstration speak for itself. 44 | 45 | Finally, teams must be ready for unforeseen events and continue the presentation. The Jury should not wait for the team to prepare again if a problem occurs with the robot. 46 | 47 | 48 | \section{Evaluating Juries for Final Demonstrations} 49 | For the final, the max score will be 2000pts. 50 | The \iterm{Finals} are evaluated by two juries, here described. 51 | 52 | \begin{enumerate} 53 | \item\textbf{League-internal jury:} The league-internal jury is formed by people with a background in robotics. They are appointed by the Executive Committee. The evaluation of the league-internal jury is based on the following criteria and represent 60\% of the score: 54 | \begin{compactenum} 55 | \item Efficacy/elegance of the solution. 56 | \item Innovation/contribution to the league of the additional tasks solved. 57 | \item Difficulty of the overall demonstration. 58 | \end{compactenum} 59 | 60 | \item \textbf{League-external jury:} The league-external jury consists of people without a background in robotics. They are appointed by the Executive Committee. The evaluation of the league-external jury is based on the following criteria and represent 40\% of the score: 61 | \begin{compactenum} 62 | \item Originality and presentation (story-telling is to be rewarded). 63 | \item Relevance/usefulness to everyday life. 64 | \item Elegance/success of overall demonstration. 65 | \end{compactenum} 66 | \end{enumerate} 67 | 68 | % \section{Scoring} 69 | % The final score and ranking are determined by the jury evaluations and by the previous performance (in Stages I and II) of the team, in the following manner: 70 | 71 | % \begin{enumerate} 72 | % \item The influence of the league-internal jury to the final ranking is \SI{25}{\percent}. 73 | % \item The influence of the league-external jury to the final ranking is \SI{25}{\percent}. 74 | % \item The influence of the total sum of points scored by the team in Stage I and II is \SI{50}{\percent}. 75 | % \end{enumerate} 76 | 77 | %These demonstrations are carried out in a serialized fashion, one League performing after another in one \Arena{}. 78 | 79 | 80 | \subsection{Task} 81 | The procedure for the demonstration and the timing of slots is as follows: 82 | \OpenDemonstrationTask{fifteen}{fifteen} 83 | 84 | \OpenDemonstrationChanges 85 | 86 | %% %%%%%%%%%%%%%%%%%%%%%%%% 87 | % \section{Final Ranking and Winner} 88 | 89 | % There will be an award for 1st, 2nd and 3rd place.% of each league. 90 | 91 | % The winner of the competition is the team that gets the highest ranking in the \iterm{Finals}. 92 | 93 | % The second place will be the team that got the second-highest ranking in the \iterm{Finals}. 94 | 95 | % The third place will be the team with the highest score that did not made it to the \iterm{Finals}. 96 | 97 | % Additional certificates would be granted if: 98 | 99 | % \begin{enumerate} 100 | % \item If the number of teams in the league is above 11, a certificate will be awarded to the 4th ranked team. 101 | % \item If the number of teams in the league is above 14, a certificate will be awarded to the 5th ranked team. 102 | % \end{enumerate} 103 | 104 | \subsection{Score sheets} 105 | 106 | \clearpage 107 | \begin{center} 108 | \textbf{Internal Jury:} 109 | \end{center} 110 | 111 | \paragraph{Instructions:} 112 | \begin{compactenum} 113 | \item Please watch all demonstrations carefully. 114 | \item At the end of the demonstration you may ask questions. 115 | \item After demonstration and questions, please fill in the evaluation sheet below. 116 | \item You may use the space below \enquote{Remarks:} to take notes for yourself. 117 | \item Enter your your name (\enquote{referee name}) on top of the sheet. 118 | \item Sign the form using the \enquote{Referee} slot at the bottom. 119 | \end{compactenum} 120 | 121 | \paragraph{Criteria:} 122 | \begin{compactitem} 123 | \item Scientific contribution 124 | \item Contribution to @Home 125 | \item Relevance for @Home / Novelty of approaches 126 | \item Presentation and performance in the finals 127 | \end{compactitem} 128 | 129 | 130 | 131 | \paragraph{Evaluation sheet} 132 | \begin{center} 133 | 134 | \resizebox{\textwidth}{!}{ 135 | \begin{tabular}{|l|c|c|c|c|} 136 | \hline 137 | \multirow{3}{*}{Team name} 138 | & Efficacy of solution & Elegance of & Innovation/contribution & Difficulty/Success of \\ 139 | & to main objective${}^\star$ & solution to main objective & of additional tasks & overall demonstration \\ 140 | & (0-10) & (0-10) & (0-10) & (0-10) \\ 141 | \hline 142 | & & & & \\\hline 143 | & & & & \\\hline 144 | & & & & \\\hline 145 | \hline 146 | \end{tabular}\\ 147 | } 148 | ${}^\star$ Penalize if the time is over. 149 | \end{center} 150 | 151 | Obs: 152 | 153 | 154 | \clearpage 155 | \begin{center} 156 | \textbf{External Jury:} 157 | \end{center} 158 | 159 | \paragraph{Instructions:} 160 | \begin{compactenum} 161 | \item Please watch all demonstrations carefully. 162 | \item At the end of the demonstration you may ask questions. 163 | \item At the end of all presentations, evaluate the teams comparatively. 164 | \item After demonstration and questions, please fill in the evaluation sheet below. 165 | \item You may use the space below \enquote{Remarks:} to take notes for yourself. 166 | \item Enter your your name (\enquote{referee name}) on top of the sheet. 167 | \item Sign the form using the \enquote{Referee} slot at the bottom. 168 | \end{compactenum} 169 | 170 | 171 | \paragraph{Evaluation sheet} 172 | \begin{center} 173 | 174 | \resizebox{\textwidth}{!}{ 175 | \begin{tabular}{|l|c|c|c|c|} 176 | \hline 177 | \multirow{3}{*}{Team name} 178 | & Originality and & Relevance/usefulness to & Elegance of & Success of \\ 179 | & presentation${}^\star$ & everyday life & overall demonstration & overall demonstration \\ 180 | & (0-10) & (0-10) & (0-10) & (0-10) \\ 181 | \hline 182 | & & & & \\\hline 183 | & & & & \\\hline 184 | & & & & \\\hline 185 | \hline 186 | \end{tabular}\\ 187 | } 188 | ${}^\star$ Story telling is to be rewarded. 189 | \end{center} 190 | 191 | 192 | 193 | Obs: 194 | -------------------------------------------------------------------------------- /chapters/general_rules/Procedure.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{Test Procedure} 3 | \label{sec:rules:testprocedure} 4 | 5 | \subsection{Safety First!} 6 | \label{sec:rules:safetyfirst} 7 | Robots need to be safe when interacting with people and their environment. 8 | \begin{itemize} 9 | \item \textbf{Emergency Stop:} At any time, when operating the robot inside and outside the scenario, a team member has to stop the robot immediately if there is a remote possibility of dangerous behavior towards people and/or objects. 10 | \item \textbf{Stopping on Request:} If a referee, member of the \abb{TC}, \abb{OC}, or \abb{EC}, or trustee of the federation tells the team to stop the robot, there will be no discussion and the robot has to be stopped \emph{immediately}. 11 | \end{itemize} 12 | 13 | \subsubsection{Collisions} 14 | \label{sec:rules:collisions} 15 | \begin{itemize} 16 | \item \textbf{Slightly Touching:} Slightly touching objects is tolerated but unadvised. 17 | 18 | \item \textbf{Major Collisions:} If a robot crashes into something during a test, the robot is stopped immediately. 19 | 20 | \item \textbf{Functional Touching:} Robots are allowed to apply pressure to objects, push away furniture, and interact with the environment in general. However, the robot must clearly announce any collision-like interaction. Referees can still immediately stop a robot in case or suspicion of dangerous behavior. 21 | 22 | \item \textbf{Robot-Robot Avoidance:} If two robots encounter each other, they both have to actively try to avoid the other robot. 23 | \begin{enumerate} 24 | \item A robot which is not going for a different route within a reasonable amount of time (\SI{30}{\second}) is removed. 25 | \item A non-moving robot blocking the path of another robot for longer than a reasonable amount of time (\SI{30}{\second}) is removed. 26 | \end{enumerate} 27 | \end{itemize} 28 | 29 | \subsection{Arena Access} 30 | \label{sec:rules:arenaaccess} 31 | \begin{itemize} 32 | \item \textbf{Setup Days:} During \SetupDays{}, the number of team members inside the \Arena{} is not limited. 33 | \item \textbf{Before Test Block:} \SI{30}{\min} before a \Testblock{}, no team members are allowed inside the \Arena{}. 34 | % \item \textbf{Tests:} During a \Testslot{}, the maximum number of team members allowed inside the \Arena{} is \emph{one} (1) (\Volunteers{} excluded). 35 | \item \textbf{Tests:} During a \Testslot{}, team members will not be allowed inside the \Arena{}. 36 | \item \textbf{Final Demonstrations:} During the \FINAL{}, the number of team members inside the \Arena{} is not limited. 37 | \end{itemize} 38 | 39 | 40 | \subsection{Fair Play} 41 | \label{sec:rules:fairplay} 42 | Fair play and cooperative behavior is expected from all teams during the entire competition. 43 | \begin{itemize} 44 | \item \textbf{Evaluating:} Evaluate other teams' performances fairly, especially as jury member. 45 | \item \textbf{Refereeing:} Apply all rules equally to all teams. 46 | \item \textbf{Volunteering:} Interact reasonably with other teams' robots and as instructed. 47 | \end{itemize} 48 | This especially means: 49 | \begin{itemize} 50 | \item \textbf{No Cheating:} Faking autonomous robot behavior and similar is highly punished. 51 | \item \textbf{No Rule Exploitation:} Do not exploit rules in ways that are obviously not intended. If you find an exploitable rule, inform the \TC{} \emph{before} the competition. 52 | % \item \textbf{Hidden Modifications:} Modifying robots is against the basis of the \SPLs{} and therefore, highly punished. 53 | \end{itemize} 54 | 55 | 56 | \subsection{Robot Autonomy} 57 | \label{sec:rules:autonomy} 58 | Robots acting autonomously is among the key concepts of \AtHome{} (see~\ref{sec:concepts:autonomy}). 59 | \begin{itemize} 60 | \item \textbf{No Touching:} During a test, team members are not allowed to make contact with their robot. Contact by referees and volunteers is only allowed if it is in a \textit{natural} way and required by the task. 61 | 62 | \item \textbf{Natural Interaction:} The default way to interact with a robot are gestures and speech. 63 | 64 | \item \textbf{No Remote Control:} Remotely controlling a robot is strictly prohibited. 65 | This also includes pressing buttons or influencing sensors on purpose. 66 | 67 | \item \textbf{Self explanation:} The robot must report all its actions/perceptions to the user, preferably through verbal interaction. A log file (PDF log)) with the robot's actions/perceptions must be provided to the referee. 68 | 69 | \end{itemize} 70 | 71 | \noindent\textbf{Note:} Disregard of the aforementioned rules can lead to penalties and disqualifications for a test, the competition, and future competitions. 72 | 73 | \subsection{Expected Robot Behavior} 74 | \label{sec:rules:robotbehavior} 75 | It is expected that the robot always behaves and reacts in the same way a polite and friendly human being would. 76 | A robot should always announce and describe what it is doing or planning to do. 77 | 78 | \subsection{Removal of Robots} 79 | \label{sec:rules:robotremoval} 80 | Robots not obeying the rules are stopped and removed from the arena. It is the decision of the referees and the \abb{TC} members monitoring the test if and when to remove a robot. When told to do so, the team has to immediately stop the robot and remove it from the arena without disturbing the ongoing test. 81 | 82 | 83 | \subsection{Start Signal} 84 | \label{sec:rules:startsignal} 85 | The default signal to start a test is opening the entrance door (see~\ref{sec:rules:scenario:locations}). 86 | Other start signals are allowed but must be authorized during \RobotInspection{} (see~\ref{sec:setupdays:inspection}). 87 | 88 | \begin{enumerate} 89 | \item \textbf{Door Opening:} The robot is waiting behind the door, outside the arena and accompanied by a team member. 90 | The test starts when a referee opens the door. 91 | 92 | \item \textbf{Start Button:} If the robot is not able to automatically start after the door is open, the team may start the robot using a \StartButton{}. 93 | \begin{enumerate}[nosep] 94 | \item The procedure must be \emph{very} easy to execute. 95 | \item It is allowed to use the robot's contact/pressure sensors (e.g.~pushing the head or an arm joint). 96 | \end{enumerate} 97 | 98 | \item \textbf{Alternative Start Signal:} Other means of starting the robot are allowed. 99 | \begin{itemize}[nosep] 100 | \item QR codes 101 | \item Verbal instructions 102 | \item Custom HRI interfaces (apps, software, etc.) 103 | \end{itemize} 104 | \end{enumerate} 105 | \noindent\textbf{Note:} Using a start signal other than the default one, may be penalized in some tests. 106 | 107 | 108 | \subsection{Referees} 109 | \label{sec:rules:referees} 110 | All tests are monitored by at least two \Referees{}, ideally members of the \abb{TC}, \abb{OC}, or \abb{EC}. At least one has to be a member of the \abb{TC} and acting main referee. 111 | 112 | 113 | \subsection{Volunteers} 114 | \label{sec:rules:volunteers} 115 | Some tests require \Volunteers{} to take part in a test and interact with the robot. Teams are asked to send members as volunteers for the duration of a \Testblock{}. Larger teams are asked more frequently. 116 | \begin{itemize} 117 | \item \textbf{Announcement:} \Referee\textit{s} will ask teams to select \Volunteer\textit{s} at least \SI{30}{\min} before a \Testblock{}. 118 | \item \textbf{Instruction:} Before each block, \Referees{} will instruct the \Volunteers{}. 119 | \end{itemize} 120 | 121 | 122 | % \subsection{Moderators} 123 | % \label{sec:rules:moderators} 124 | % The \abb{LOC} is responsible for organizing test moderation in the local language. The \abb{OC} may request the participating teams to provide a team member for moderation. Candidates have to be fluent in the moderation language (default is English). 125 | % \begin{compactitem} 126 | % \item \textbf{No Interference:} The moderator has to avoid to interfere with the test. Therefore, they must follow the instructions of the \Referees{}. 127 | % \item \textbf{Explanation:} Explain the test and the robot's plan. 128 | % \item \textbf{Commentary:} Comment on the robot's performance. 129 | % \end{compactitem} 130 | 131 | % \noindent \textbf{Note:} Not showing up on time for volunteering or moderation will result in a penalty (see~\ref{sec:rules:penaltiesbonuses}). 132 | 133 | \subsection{Operators} 134 | \label{sec:rules:operators} 135 | Unless stated otherwise, robots are operated by a \Referee{} or a \Volunteer{}. If the robot fails to understand the default operator, the team may request to select their own \CustomOperator{}. Penalty may apply when using a \CustomOperator{}. 136 | 137 | 138 | \subsection{Time Limits} 139 | \label{rule:time_limits} 140 | In accordance with \ref{sec:concepts:timeconstraints}, each test has a defined time limit. 141 | \begin{itemize} 142 | \item \textbf{Inactivity:} If the robot is stuck or not progressing the task, the robot is considered inactive and the main \Referee{} can decide to end the test. 143 | 144 | \item \textbf{Requesting Time:} If the robot is doing time-consuming calculations or planning and only appears inactive, the robot has to announce what it is doing and for how long. 145 | 146 | \item \textbf{Setup Time:} Unless stated otherwise, there is no extra setup time. \SI{60}{\second} after the previous team has left the arena, the robot must be ready to enter. 147 | 148 | \item \textbf{Time's Up:} When the time is up, the team has to immediately remove the robot from the arena. 149 | No more additional score will be given. 150 | 151 | \item \textbf{Show Must Go On:} In special cases, the \Referee{} may let the robot continue the test for demonstration purposes. No additional points will be scored. 152 | \end{itemize} 153 | 154 | \subsection{Restart} 155 | \label{rule:restart} 156 | Some tasks allow a single restart, a procedure in which the team is allowed to quickly fix any issue with the robot. 157 | Restarts can be requested only when the test permits it, and when the amount of remaining time is greater than 50\% of the total. 158 | The procedure is as follows: 159 | 160 | \begin{enumerate} 161 | \item The team request a restart. 162 | \item The robot is taken to the initial position (e.g. outside the arena) and gets fixed. 163 | \item When the robot is ready, the team informs the referee. 164 | \end{enumerate} 165 | 166 | The following rules apply: 167 | \begin{enumerate} 168 | \item \textbf{Number of Restarts:} When allowed, the maximum number of restarts is one (1). 169 | 170 | \item \textbf{Early Request:} Restart is \textbf{NOT} allowed after the first 50\% of the alloted time has elapsed. 171 | 172 | \item \textbf{Time:} The timer is neither restarted nor stopped. 173 | 174 | \item \textbf{One-Minute Setup} The team has 1 minute to fix the robot counting when the referee announces th restart. 175 | If the robot is not ready, the test is considered finished. 176 | 177 | \item \textbf{Scoring:} If the score of the second attempt is lower than the score of the first one, the average score of first and second run is taken. 178 | \end{enumerate} 179 | 180 | % Local Variables: 181 | % TeX-master: "../Rulebook" 182 | % End: -------------------------------------------------------------------------------- /chapters/general_rules/Scenario.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{Scenario} 3 | \label{sec:rules:scenario} 4 | Most tests take place in the \RoboCup\AtHome{} \Arena{}. Some tests can take place outside, in a previously unknown public place (see~\ref{sec:concepts:nonstandardscenario}). This section describes the \Arena{} and how it is furnished, as well as, known information that is shared in all tests. 5 | 6 | \subsection{RoboCup@Home Arena} 7 | \label{sec:rules:scenario:arena} 8 | The \RoboCup\AtHome{} \Arena{} is a realistic home setting consisting of inter-connected rooms. 9 | The minimal configuration consists of: 10 | \begin{itemize} 11 | \item Bedroom 12 | \item Dining Room 13 | \item Living Room 14 | \item Kitchen 15 | \end{itemize} 16 | % There is one \Arena{} for each league and an additional one for setup and training shared by all leagues. 17 | 18 | An \Arena{} is decorated and dressed to resemble a typical apartment in the hosting country/region, including all necessities and decorations one can find in a normal house. 19 | 20 | \subsection{Walls, Doors and Floor} 21 | \label{sec:rules:scenario:walls} 22 | The indoor home setting will be surrounded by high and low walls built up using standard fair construction material. 23 | 24 | \begin{itemize} 25 | \item \textbf{Walls:} Walls have a minimum height of \SI{60}{\centi\meter}. A maximum height is not specified, but the audience must be able to watch the competition. 26 | 27 | \item \textbf{Doors:} There will be at least two doors, leading in and out of the arena. 28 | Inside the arena, rooms are connected by doors (at least one). 29 | All doors have handles, not knobs. 30 | Doors can be closed during tests, robots are expected to open them or plan around. 31 | 32 | \item \textbf{Floor:} The floor and doorways of the arena are even. 33 | There will be no significant steps or even stairways. 34 | Minor unevenness such as carpets, transitions in floor covering between different areas, and minor gaps (especially at doorways) can be expected. 35 | 36 | \item \textbf{Appearance:} Floor and walls are mainly uni-colored but can contain texture, e.g., a carpet on the floor, a poster or picture on the wall.\\ 37 | \end{itemize} 38 | 39 | 40 | \subsection{Furniture} 41 | \label{sec:rules:scenario:furniture} 42 | The arena will be furnished with items common in the host country. 43 | 44 | The minimal configuration consists of: 45 | \begin{itemize} 46 | \item Bed, 47 | \item Couch 48 | \item Small Table 49 | \item Small Dinner Table with Two Chairs 50 | \item Two Trash Bins 51 | \item Television with Remote Control 52 | \item Cupboard with Drawers 53 | \item Bookcase 54 | \item Coat Rack 55 | \end{itemize} 56 | 57 | The \Arena\textit{'s} kitchen must have: 58 | \begin{itemize} 59 | \item Dishwasher 60 | \item Sink 61 | \item Powered Refrigerator (with some cans and plastic bottles inside). 62 | \end{itemize} 63 | 64 | A typical arena setup is shown in~\reffig{fig:scenario_arena}. 65 | 66 | \begin{figure}[H] 67 | \centering 68 | \subfloat[Typical arena]{\label{fig:scenario_arena}\includegraphics[height=46mm]{images/typical_arena.jpg}} ~ 69 | \subfloat[Typical objects]{\label{fig:scenario_objects}\includegraphics[height=46mm]{images/typical_objects.jpg}} 70 | \caption{Example \RoboCup\AtHome{} scenario.} 71 | \label{fig:arena} 72 | \end{figure} 73 | 74 | \subsubsection{Cupboard} 75 | The cupboard can be any shelf-like furniture in which objects can be placed. At least one shelf must be lower than \SI{90}{\cm}. 76 | 77 | \subsubsection{Fridge} 78 | Fridge must not be smaller than \SI{120}{\cm}. At least one powered and functioning fridge is required. 79 | 80 | \subsection{Objects} 81 | \label{sec:rules:scenario:objects} 82 | Some tests involve recognizing and manipulating objects (See~\reffig{fig:scenario_objects}). 83 | The \TC{} will compile a list of at least \NumObjects{} objects at the competition. This list contains a picture of the object, as well as, its official name and \ObjectCategory{}. Every \ObjectCategory{} has an assigned \PredefinedLocation{} (see \ref{sec:rules:scenario:locations}) where objects of that category can usually be found during tests. 84 | Each object is provided at the competition for training. 85 | 86 | There are two types of objects: 87 | 88 | \begin{enumerate} 89 | \item \textbf{\KnownObjects{}:} Objects previously known by the robot.%, split into: 90 | % \begin{enumerate} 91 | % \item \textbf{\ConsistentObjects{}:} Objects that always look the same. 92 | % \item \textbf{\SimilarObjects{}:} Objects that look different to the provided image but are still considered the same by people (e.g. differently colored apple, cloth with different pattern). 93 | % \item \textbf{\StandardObjects{}:} Objects chosen from the \YCBData{}\footnote{\url{http://www.ycbbenchmarks.com/object-set/}}. They are published 6 months in advance on the \RoboCup\AtHome{} website\footnote{\url{https://athome.robocup.org/standard-objects}} so that they can be aquired and trained beforehand. 94 | % \end{enumerate} 95 | \item \textbf{\UnknownObjects{}:} Any other object that is not in the object list but can be grasped or handled (e.g. arena decorations). 96 | \end{enumerate} 97 | 98 | Known objects include at least: 99 | \begin{itemize} 100 | \item \textbf{\iterm{Tableware}:} Dish, bowl, cup, and napkin (See~\reffig{fig:scenario_container_bowl}). 101 | \item \textbf{\iterm{Cutlery}:} Fork, knife, and spoon. 102 | \item \textbf{\iterm{Trash Bags}:} Big plastic trashbags, preferrably with handle. 103 | \item \textbf{\iterm{Bags}:} Lightweight. With stiff, vertical handles (See~\reffig{fig:scenario_container_bag}). 104 | \item \textbf{\iterm{Trays}:} Tray or basket, intended for two-handed manipulation (See~\reffig{fig:scenario_container_tray}). 105 | \item \textbf{\iterm{Pourable}:} An object whose content can be poured (e.g.~jug). 106 | \item \textbf{\iterm{Heavy Object}:} Weight between 0.5kg and 0.8kg (e.g.~water bottle). 107 | \item \textbf{\iterm{Tiny Object}:} A lightweight object, no bigger than 5cm³ (e.g.~teabag). 108 | \item \textbf{\iterm{Fragile Object}:} An easy-to-break object (e.g.~egg). 109 | \item \textbf{\iterm{Deformable Object}:} A flexible object that may appear in different shapes (e.g.~cloth). 110 | \end{itemize} 111 | 112 | \begin{figure}[H] 113 | \centering 114 | \subfloat[Brightly colored paper bags]{ 115 | \label{fig:scenario_container_bag}\includegraphics[width=0.33\textwidth]{images/container_paper_bag.png}}~ 116 | \subfloat[Cereal bowls]{ 117 | \label{fig:scenario_container_bowl}\includegraphics[width=0.33\textwidth]{images/container_bowl.png}}~ 118 | \subfloat[Serving tray]{ 119 | \label{fig:scenario_container_tray}\includegraphics[width=0.33\textwidth]{images/container_tray.png}} 120 | \caption{Example of objects} 121 | \label{fig:scenario_containers} 122 | \end{figure} 123 | 124 | \noindent During the competition, objects can be requested based on their \ObjectCategory{}, physical attributes, or a combination of both. 125 | Relevant attributes to be used are: 126 | \begin{itemize} 127 | \item Color (e.g. red, blue, black with white dots, etc.). 128 | \item Relative estimated size (smallest, largest, big one, etc.). 129 | \item Relative estimated weight (lightest, heaviest). 130 | \item Relative position (left of, right most, etc.). 131 | \item Object description (is fragile, is container, can be poured, requires two hands, etc.). 132 | \end{itemize} 133 | 134 | \noindent\textbf{Remark:} Measurements are estimations and based on common sense. It is OK for robots to consider similar objects to be about the same size or weight. Don't bring a scale. 135 | 136 | 137 | \subsection{Changes to the Arena} 138 | \label{sec:rules:scenario:changes} 139 | Since the robots should be able to function in the real world, the \Arena{} is not fixed and might change without further notice. 140 | \begin{enumerate} 141 | \item \textbf{Major Changes:} 142 | Any furniture (\PredefinedLocation{} or not) might be moved slightly between tests. It will not change rooms or move drastically inside a room. However, a couch or table may be rotated, moved to its side etc. Walls will stay in place and rooms will not change function. Passages might be blocked. 143 | 144 | \item \textbf{Minor Changes:} Slightly moved chairs, slightly closed doors, or anything similar cannot be avoided and might happen at any time, even during a test. 145 | \end{enumerate} 146 | 147 | \noindent Only during \SetupDays{} (see~\ref{chap:setupdays}), teams can make changes to the arena if something severely hinders the robots (e.g. high door steps). These changes must be agreed upon by all team leaders and in accordance with the \TC{} on location. 148 | 149 | During \SetupDays{} and in between tests, teams can take objects from the \Arena{} for training. A team may not take more than five objects at once and for longer than an hour. Teams may not modify any of the objects. At least half an hour before a test slot, all items must be returned to the \Arena{}. 150 | 151 | 152 | \subsection{Predefined Rooms and Locations} 153 | \textit{\label{sec:rules:scenario:locations}} 154 | Some tests involve a \PredefinedLocation{}. 155 | \begin{itemize} 156 | \item \textbf{Rooms:} Each room has a function (e.g. kitchen, bed room). 157 | 158 | \item \textbf{Furniture:} Some furniture will be named and sorted into a location class (e.g. couch and arm chair are both in the seating class). 159 | 160 | \item \textbf{Doors:} Two doors leading in and out of the \Arena{} will be named entrance and exit respectively. 161 | \end{itemize} 162 | 163 | 164 | \subsection{Predefined Names} 165 | \label{sec:rules:scenario:names} 166 | Some tests involve memorizing a person's name. All people in the arena have an assigned \PredefinedName{} chosen from a list compiled by the \TC{}. This list has \NumNames{} names of which \SI{50}{\percent} are male and \SI{50} {\percent} female, 167 | %, and \SI{50}{\percent} gender-neutral, 168 | taken from the list of most common used names in Brazil from boys\footnote{\url{https://www.nsctotal.com.br/noticias/os-10-nomes-de-meninos-mais-populares-do-brasil-na-ultima-decada}} and girls \footnote{\url{https://www.nsctotal.com.br/noticias/os-10-nomes-de-menina-mais-populares-do-brasil-na-ultima-decada}}. 169 | 170 | 171 | % \subsection{Wireless Network} 172 | % \label{sec:rules:scenario:wifi} 173 | 174 | % For wireless communication, an \ArenaNetwork{} is provided. The actual infrastructure depends on the \LOC{}. Reliability and stability is not guaranteed. Robots are expected to run regardless. 175 | 176 | % The following rules apply: 177 | 178 | % \begin{itemize} 179 | % \item Only the \ArenaNetwork{} can be used by robots during tests. 180 | % \item Only the active team in a test is allowed to use the \ArenaNetwork{}. 181 | % \item One Virtual Local Area Networks (VLANs) is provided per team. 182 | % \item Each VLAN is most likely to have its own SSID/password. 183 | % \item VLAN traffic is separated from any other team, routed to the team's network cable in the team area. 184 | % \item Each VLAN is also connected to the Internet. 185 | % \end{itemize} 186 | 187 | % \noindent Teams broadcasting unauthorized (aka rogue) wireless networks will be disqualified from the competition, and have their devices confiscated by the OC. This includes smartphones and concealed SSIDs. It is advised to verify your devices. 188 | % \\ \\ 189 | % \textbf{Note:} All information about the scenario will be announced during \SetupDays{} (see~\ref{chap:setupdays}). 190 | 191 | % Local Variables: 192 | % TeX-master: "../Rulebook" 193 | % End: 194 | -------------------------------------------------------------------------------- /LICENSE.GPL-2.0: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 6 | 7 | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. 12 | 13 | When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. 14 | 15 | To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. 16 | 17 | For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. 18 | 19 | We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. 20 | 21 | Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. 22 | 23 | Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. 24 | 25 | The precise terms and conditions for copying, distribution and modification follow. 26 | 27 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 28 | 29 | 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". 30 | Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 31 | 32 | 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. 33 | You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 34 | 35 | 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: 36 | a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. 37 | b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. 38 | c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) 39 | These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. 40 | 41 | Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. 42 | 43 | In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 44 | 45 | 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: 46 | a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 47 | b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 48 | c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) 49 | The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. 50 | 51 | If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 52 | 53 | 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 54 | 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 55 | 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 56 | 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. 57 | If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. 58 | 59 | It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. 60 | 61 | This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 62 | 63 | 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 64 | 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. 65 | Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 66 | 67 | 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. 68 | NO WARRANTY 69 | 70 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 71 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 72 | END OF TERMS AND CONDITIONS --------------------------------------------------------------------------------