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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ All notable changes to this project will be documented in this file.

## Rulebook [Current Draft]

* [#994](https://github.com/RoboCupAtHome/RuleBook/pull/994): New Task **Pick and Place Challenge**
* Combines aspekts of **Storing Groceries** and **Clean the Table**
* Robot is free to choose what parts to solve.
* [#997](https://github.com/RoboCupAtHome/RuleBook/pull/997): Removed QR codes from Rulebook.
* Showing QR code is too unnatural.
* added clarifications to natural alternative HRI (i.e. touchscreens)
Expand Down
18 changes: 15 additions & 3 deletions documents/rulebook.tex
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@
\chapter{Tests}\label{chap:tests}

\testtocentry{test:receptionist}
\testtocentry{test:storing-groceries}
\testtocentry{test:pick-and-place-challenge}


\testtocentry{test:gpsr}
\testtocentry{test:egpsr}
\testtocentry{test:restaurant}
Expand All @@ -79,8 +81,18 @@ \chapter{Tests}\label{chap:tests}
\cleardoublepage{}
\input{tasks/Receptionist}
\newpage{}
\input{tasks/StoringGroceries}
\newpage{}
\input{tasks/PickAndPlaceChallenge}





\testtocentry{test:restaurant}
% \testtocentry{test:give-me-a-hand}


% Uncomment to get aesthetic improvement
\cleardoublepage{}
\input{tasks/GPSR}
\newpage{}
\input{tasks/EGPSR}
Expand Down
9 changes: 9 additions & 0 deletions documents/scoresheets.tex
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@
\input{scoresheets/StoringGroceries}
\end{scoresheet}

\renewcommand{\currentTest}{Pick and Place Challenge}
\begin{scoresheet}
\input{scoresheets/PickAndPlaceChallenge}
\end{scoresheet}

% %%% STAGE II %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% STAGE 2 TESTS GO HERE %%%

\renewcommand{\currentTest}{Enhanced General Purpose Service Robot}
\begin{scoresheet}
\input{scoresheets/EGPSR.tex}
Expand Down
41 changes: 41 additions & 0 deletions scoresheets/PickAndPlaceChallenge.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
\begin{scorelist}[timelimit=10]
\scoreheading{Main Goal}
\scoreitem{25}{Navigate to the table to pick up items}
\scoreitem[8]{50}{Picking up an object (except cutlery and plate) for transportation}
\scoreitem[2]{80}{Picking up cutlery for transportation}
\scoreitem[1]{100}{Picking up the plate for transportation}

\scoreitem[3]{50}{Placing the tableware and cutlery inside the dishwasher}
\scoreitem[3]{75}{Placing an item correctly (cleanable, convenient like a human would) in the dishwasher}
\scoreitem[1]{50}{Placing a snack inside the trash bin}
\scoreitem[3]{15}{Perceiving objects in shelf and say on which layer the object should be placed}
\scoreitem[3]{15}{Placing an object in the cabinet}
\scoreitem[3]{50}{Placing an object next to similar objects in the cabinet}
\scoreitem[4]{50}{Placing breakfast items on the table}

\scoreheading{Bonus Rewards}
\scoreitem[2]{100}{Pulling and pushing the dishwasher rack}
\scoreitem[2]{200}{Opening and closing the dishwasher door}
\scoreitem{100}{Picking up the dishwasher tab for transportation to the dishwasher}
\scoreitem{200}{Placing the dishwasher tab inside the dishwasher's hatch intended for the tab}
\scoreitem[3]{50}{Picking up an object from the shopping bag}
\scoreitem[2]{200}{Pouring cereal and milk into the bowl}

\scoreheading{Penalties}
\penaltyitem[11]{50}{Throwing or dropping an object while placing it}
\penaltyitem[2]{100}{Spilling cereal and milk while pouring}

\scoreheading{Deus Ex Machina Penalties}
\penaltyitem[8]{50}{Handing any object (except cutlery and plate) over to the robot}
\penaltyitem[2]{80}{Handing cutlery over to the robot}
\penaltyitem{100}{Handing the plate over to the robot}
\penaltyitem[11]{50}{Having a human place an object in the correct place}
\penaltyitem[11]{25}{A human pointing at a target location}

%\setTotalScore{1000}
\end{scorelist}


% Local Variables:
% TeX-master: "Rulebook"
% End:
139 changes: 139 additions & 0 deletions tasks/PickAndPlaceChallenge.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
\section{Pick and Place Challenge}
\label{test:pick-and-place-challenge}
The robot tidies up the kitchen table after a dinner.
The tableware and cutlery must be placed inside the dishwasher.
The snacks must be placed inside the trash bin.
All other objects must be stored in a cabinet with shelves. Objects are sorted on the shelves based on similarity, for instance, an apple is stored next to other fruits.
The robot has to set the table for breakfast for one person.\\

\noindent \textbf{Main goals:}
Tidy up all the objects on the dinner table. Tableware and cutlery have to be placed correctly inside the dishwasher, snacks have to be placed inside the trash bin and all other objects have to be placed in the cabinet, grouping them by category or similarity.
Place the breakfast items on a table (bowl, spoon, cereal box, and milk). \\

\noindent \textbf{Optional goals:}
\begin{enumerate}[nosep]
\item Opening and closing the dishwasher door
\item Pulling and pushing the dishwasher rack
\item Placing a dishwasher tab inside the dishwasher
\item Picking objects from a shopping bag
\item Pour milk and cereal into the breakfast bowl
\end{enumerate}

\subsection*{Focus}
\emph{Object perception}, \emph{manipulation in narrow spaces}, and \emph{task planning}.

% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Setup
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Setup}
\begin{itemize}[nosep]
\item \textbf{Locations:}
\begin{itemize}
\item \textbf{Start Location:} Before the test, the robot waits outside the Arena and navigates to the testing area when the door is open.
\item \textbf{Test location:} This test takes place in the kitchen.
\end{itemize}
\item \textbf{People:}
\begin{itemize}
\item No people are involved in the test, unless the robot requires human assistance.
\end{itemize}
\item \textbf{Furniture:}
\begin{itemize}
\item \textbf{Dishwasher:} A dishwasher is located close to the dining table. The dishwasher is closed by default, any help the robot may need to open or close the doors or racks must be requested by the robot during the task.
\item \textbf{Trash bin:} A trash bin is located in the kitchen.
\item \textbf{Shopping Bag:} There is a shopping bag on the ground next to the table.
\item \textbf{Cabinet:} The cabinet contains objects arranged in groups, either by category or likeness, on different shelves.
\end{itemize}
\item \textbf{Objects:}
\begin{itemize}
\item \textbf{Table setting:} The table has a total of seven objects arranged arbitrarily or in a typical setting after a meal. The cutlery and tableware objects may be randomly stacked as is common after a meal.
The object distribution is as follows:
\begin{itemize}[nosep]
\item\textit{Cutlery}: One piece of cutlery (fork, knife, or spoon).
\item\textit{Tableware}: Any two objects (except cutlery), at least one of which is a plate (cup, plate).
\item\textit{Snacks}: One snack from the object set.
\item\textit{Other objects}: Any three additional objects from the object set, excluding cutlery, tableware, and snacks.
\end{itemize}
\item \textbf{Shopping Bag:} Any three additional objects from the object set, excluding cutlery, tableware, and snacks.
\item \textbf{Breakfast items:} The breakfast items are a bowl, a spoon, milk and cereal.
The object distribution is as follows:
\begin{itemize}[nosep]
\item\textit{Bowl and Spoon}: On top of the dishwasher.
\item\textit{Milk and Cereal}: Inside the cabinet, next to their respective category.
\end{itemize}
\item \textbf{Cabinet objects:} The objects are placed in a doorless cabinet. Each side of a shelf contains objects arranged in groups, either by category or likeliness.
\item \textbf{Dishwasher tab:} The tab can be found on top of the dishwasher and should be placed inside the tab slot in the dishwasher.
\end{itemize}
\end{itemize}


% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Procedure
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Procedure}
\begin{enumerate}[nosep]
\item \textbf{Test start:} The robot moves to the kitchen when the arena door is open.
\item \textbf{Table clean up:} The robot tidies up the table by putting: the cutlery and tableware items inside the dishwasher, the snack in the trash bin and the other objects in the cabinet, grouping them by category or similarity.
\item \textbf{Serve breakfast:} The robot sets the table for breakfast by placing the bowl, spoon, cereal and milk on the table in a typical setting for a meal.
\item \textbf{Sequence:} The robot is free to determine the order and method for performing the pick-and-place tasks. There is no predefined sequence, the robot may execute them in any way it finds optimal.
\end{enumerate}


% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Additional Rules
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Additional Rules and Remarks}
\begin{enumerate}[nosep]
\item \textbf{Safe placing:} Objects must be placed with care, namely the robot should place rather than throw or drop objects.
\item \textbf{Dishwasher door:} The dishwasher door is closed by default.
The robot may ask for help to open or close the door or racks at any time during the task. If the robot fails to open/close the door/rack, it must clearly state this and request the referee to open/close the door/rack.
\item \textbf{Correct dishwasher item placement:} The items should be placed in the rack correctly, namely in the location and in a manner as a person would put them.
\item \textbf{Incorrect cabinet category categorization:} The score is reduced if an object is stored in the cabinet, but not next to similar objects; this reduction is applied per incorrectly stored object.
\item \textbf{New category:} Objects that do not semantically belong to any of the categories represented on the shelves should be grouped together in an empty part of the shelf.
\item \textbf{Correct serve breakfast item placement:} The table must be set in a typical setting for a meal. The spoon must be placed next to the bowl, and the cereal and milk must be placed next to each other.
\item \textbf{Pouring:} A significant amount of the milk and cereal must be poured, Pouring a couple of drops of milk or bits of cereal is not enough.
\item \textbf{Deus ex Machina:} The scores are reduced if human assistance is received, in particular:
\begin{itemize}[nosep]
\item pointing to an object or telling the robot where an object is
\item telling or pointing out to the robot where to place an object
\item handing an object over to the robot
\item moving an object instead of the robot
\end{itemize}
\item \textbf{Communicating Perception}: The robot must clearly communicate its perception to the referee.
Pointing at the object or attempting to pick it up is sufficient. When using visualization, make sure the robot
tells the referee where to look and makes the visualization easily accessible.
If the team wants to utilize bounding boxes make sure \textbf{only} one object with a bounding box is shown
at a time so the referee is easily able to check and verify. Also make sure the surrounding scene is visible, i.e.
just showing a cropped bounding box is not enough.
\end{enumerate}

\subsection*{OC Instructions}

During the \SetupDays:
\begin{itemize}
\item Provide official cutlery and tableware for training.
\item Provide official objects for training.
\end{itemize}
At least two hours before the test:
\begin{itemize}
\item Announce which table and cabinet will be used in the test.
\item Select which bags will be used in the test.
\end{itemize}


\subsection*{Referee Instructions}

The referee needs to:
\begin{itemize}
\item Place objects on the table (one piece of cutlery, two pieces of tableware, one snack, and three other objects).
\item Place objects in the shopping bag (three objects).
\item Place objects in the cabinet, grouping them by category or likeliness.
\item Place the bowl and spoon on top of the dishwasher.
\item Place the milk and cereal inside the cabinet next to their respective category.
\end{itemize}

\subsection*{Score sheet}
\input{scoresheets/PickAndPlaceChallenge.tex}

% Local Variables:
% TeX-master: "Rulebook"
% End: