Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions scoresheets/GPSR.tex
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
\begin{scorelist}[timelimit=5]
\begin{scorelist}[timelimit=7]
\scoreheading{Main Goal}
\scoreitem[3]{400}{Executing the task associated with each command}
\scoreitem[3]{50}{Understand each command spoken by the operator}
\scoreitem[3]{100}{Demonstrate a plan has been generated for each command}
\scoreitem[3]{250}{Executing the task associated with each command}

\scoreheading{Bonus Rewards}
\scoreitem[3]{100}{Understanding a command given by a non-expert operator}
% \scoreheading{Bonus Rewards}
% \scoreitem[3]{100}{Understanding a command given by a non-expert operator}

\scoreheading{Deus Ex Machina Penalties}
\scoreheading{Autonomy Skip Penalties}
\penaltyitem[3]{50}{Using a custom operator}
\penaltyitem[3]{50}{Bypassing speech recognition}
\penaltyitem[3]{400}{Instructing a human to perform parts of the task will apply a percentage penalty according to similar penalties in other tests.}
\penaltyitem[3]{50}{Bypassing automatic speech recognition}
\penaltyitem[3]{200}{Instructing a human to perform parts of the task will apply a percentage penalty according to similar penalties in other tests.}
\end{scorelist}
57 changes: 24 additions & 33 deletions tasks/GPSR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ \section{General Purpose Service Robot}\label{test:gpsr}

\noindent \textbf{Main Goal:} Execute three commands issued by the operator.\\

\noindent \textbf{Optional Goals:}
\begin{enumerate}[nosep]
\item Understand a command given by a non-expert operator.
\end{enumerate}

\subsection*{Focus}
\emph{Task planning}, \emph{object/people detection and recognition}, \emph{object feature recognition}, \emph{object manipulation}

Expand All @@ -19,18 +14,14 @@ \subsection*{Setup}
\begin{itemize}[nosep]
\item \textbf{Locations:}
\begin{itemize}
\item \textbf{Task location:} The task takes place inside the \Arena{}. Commands may require the robot to leave the room. The \Arena{} is in its nominal configuration for this task.
\item \textbf{Task location:} The task takes place inside the \Arena{}. The \Arena{} is in its nominal configuration for this task. Commands may require the robot to manoeuvre to any part of the \Arena{}.
\item \textbf{Start location:} The robot starts outside the \Arena{}. When the door opens, it must navigate towards the \textit{Instruction Point}.
\item \textbf{Instruction point:} The robot returns to this point after completing each command to receive the next one.
\item \textbf{Instruction point:} The robot returns to this point after completing all of the commands.
\end{itemize}
\item \textbf{People:}
\begin{itemize}
\item \textbf{Professional Operator:} Typically the referee, issues standard commands to the robot.
\item \textbf{Non-Expert Operator (optional):} A person without robotics expertise (e.g., from the audience). The referee provides the intended command goal to this operator, who then issues the instruction using their own wording.

For example, the generated command might be \textit{"Bring me a coke from the kitchen."} then the non-expert operator will be told \textit{"The robot should bring you a coke, which is found in the kitchen."}, who then tells the robot \textit{I want a coke. Go to the kitchen and get me one."}

If the robot consistently fails to understand the non-expert operator (e.g. after two retries), teams can default to a custom operator.
\item \textbf{Professional Operator:} The referee issues standard commands to the robot.
If the robot consistently fails to understand after three retries, teams can default to a custom operator.
\end{itemize}
\end{itemize}

Expand All @@ -41,10 +32,9 @@ \subsection*{Setup}
\subsection*{Procedure}
\begin{enumerate}[nosep]
\item \textbf{Instruction point:} At least two hours before the test, the referees announce the location of the \textit{Instruction Point}.
\item \textbf{Test start:} The robot moves to the \textit{Instruction Point} when the arena door is open.
\item \textbf{Command execution:} The operator instructs the robot to execute a command and the robot performs the task.
\item \textbf{Back to the instruction point:} The robot goes back to the \textit{Instruction Point} and waits for the next command.
\item \textbf{Pausing the Timer:} The referee pauses the timer as soon as the robot reaches the instruction point to reset the arena for the next command. The timer resumes once the referee signals the start of the next command.
\item \textbf{Command execution:} The operator provides up to three commands issued consecutively to instruct the robot to perform the tasks. If the operator provides the commands one-by-one, the robot must return to the operator after completing each task. The operator will say "please start now" to initiate the task.
\item \textbf{Back to the instruction point:} The robot goes back to the \textit{Instruction Point} after completing all of the commands given by the operator.
\item \textbf{Pausing the Timer:} If commands are issued one-by-one, the referee pauses the timer as soon as the robot reaches the instruction point to reset the arena for the next command. The timer resumes once the referee signals the start of the next command.
\end{enumerate}


Expand All @@ -53,22 +43,24 @@ \subsection*{Procedure}
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Additional Rules and Remarks}
\begin{enumerate}[nosep]
\item \textbf{Partial scoring:} The main task allows partial scoring (per \emph{completed} command).

\item \textbf{Command generator:} Tasks will be generated using the official command generator\footnote{\url{https://github.com/RoboCupAtHome/CommandGenerator}}.
\item \textbf{Partial Scoring:} The main task allows partial scoring (per \emph{solved} problem).
\begin{enumerate}[nosep]
\item \textbf{Scores:} Score reduction is applied as a percentage depending on the solution.
\item \textbf{Penalties:} The Repetition penalty is applied before any partial penalties
\item \textbf{Example:} If picking up trash off the floor is valued as 60\% of the solution, then requesting a handover should be a $ 650 \times 0.6 = 390 $ points penalty for the first pick and $ \left( 650 - 300 \right) \times 0.6 = 210 $ for the second pick.
\end{enumerate}
\item \textbf{Command generator:} Tasks will be generated using the official command generator\footnote{\url{https://github.com/RoboCupAtHome/CommandGenerator}}. Once a command has been generated it will be entered into an LLM to re-generate a similar phrase, e.g. the generated command is "get me a coke from the kitchen" re-phrased command is "Go to the kitchen, find a coke, and bring it to me". Each command may be re-phrased up to 3 times.
\item \textbf{Test start:} The robot moves to the \textit{Instruction Point} when the arena door is open.

\item \textbf{Non-Expert Operators:}
\begin{itemize}[nosep]
\item Referees must not assist non-expert operators in phrasing the commands.
\item Teams are not allowed to coach, instruct, or bias non-expert operators. Doing so results in disqualification from the task.
\end{itemize}
\item \textbf{Custom Operators:} If a custom operator is used they can choose only one of the re-phrased commands to use.

\item \textbf{Deus ex Machina:} Score reductions apply in the following cases:
\item \textbf{Autonomy Skip:} Score reductions apply in the following cases:
\begin{itemize}
\item Use of a custom operator
\item Bypassing speech recognition with an alternative HRI.
\item Receiving human assistance to accomplish a command
\item Instructing a human assistant to perform the whole task
\item Use of a custom operator.
\item Bypassing Automatic Speech Recognition.
\item Receiving human assistance to accomplish a command.
\item Instructing a human assistant to perform the whole task.
\item QR codes will not be available.
\end{itemize}
\end{enumerate}

Expand All @@ -81,15 +73,14 @@ \subsection*{OC Instructions}

At least two hours before the test:
\begin{itemize}[nosep]
\item Generate the robot commands (do not reveal them to the teams).
\item Generate the robot commands and pass through LLM to get a similar command (do not reveal them to the teams).
\item Announce the location of the instruction point.
\item Recruit volunteers to assist during the test.
\newline
\end{itemize}

\noindent During the test:
\begin{itemize}[nosep]
\item Restore the arena to its nominal state before each command execution.
\item The arena will be setup for all command executions.
\end{itemize}

\subsection*{Score Sheet}
Expand Down