Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storing groceries changes #923

Merged
merged 1 commit into from
Jan 6, 2025
Merged
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
Binary file added images/container_dry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 22 additions & 28 deletions pages/general_rules/Scenario.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Scenario}
\label{sec:scenario}
\section{Scenario}\label{sec:scenario}

Most competition tests take place in the \RoboCup\AtHome\Arena, but some tests may take place outside, in a previously unknown public place.
In this section, the \Arena{} and its contents are described, in particular the furnishing and other information that is common between tests and leagues.
Expand All @@ -22,8 +21,7 @@
Note that what is considered \emph{normal} may vary greatly based on the culture and location where \RoboCup{} is hosted.
Decorations may include, but are not limited to, plants, mirrors, paintings, posters, plates, picture frames, wall clocks, candles with holders, and books.

\subsection{Walls, Doors, and Floor}
\label{rule:scenario_walls}
\subsection{Walls, Doors, and Floor}\label{rule:scenario_walls}

The indoor home setting will be surrounded by high and low \Term{walls}{Arena walls}, which are built up using standard fair construction material.

Expand All @@ -35,8 +33,7 @@
\end{enumerate}


\subsection{Furniture}
\label{rule:scenario_furniture}
\subsection{Furniture}\label{rule:scenario_furniture}

The \Arena{} is furnished with typical objects common for the host country.
The minimal configuration consists of:
Expand All @@ -61,10 +58,9 @@
A typical \Arena{} setup is shown in~\reffig{fig:scenario_arena}.
\begin{figure}[tbp]
\centering
\subfloat[Typical Arena]{\label{fig:scenario_arena}\includegraphics[height=46mm]{images/typical_arena.jpg}} ~
\subfloat[Typical Arena]{\label{fig:scenario_arena}\includegraphics[height=46mm]{images/typical_arena.jpg}}
\subfloat[Typical objects]{\label{fig:scenario_objects}\includegraphics[height=46mm]{images/typical_objects.jpg}}
\caption{An example of a \RoboCup\AtHome scenario}
\label{fig:arena}
\caption{An example of a \RoboCup\AtHome{} scenario}\label{fig:arena}
\end{figure}

\subsubsection{Cupboard}
Expand All @@ -77,8 +73,7 @@
At least one powered and functioning fridge is required in the \Arena.
The fridge must not be smaller than \SI{120}{\centi\meter}.

\subsection{Changes to the \Arena}
\label{rule:scenario_changes}
\subsection{Changes to the \Arena}\label{rule:scenario_changes}

Since robots should be able to function in the real world, the \Arena{} is not fixed and might change without further notice.
\begin{enumerate}
Expand All @@ -102,11 +97,10 @@
\def\NumLocations{20\ }
\def\NumNames{20\ }

\subsection{Objects}
\label{rule:scenario_objects}
\subsection{Objects}\label{rule:scenario_objects}

Some tests in the RoboCup@Home league involve recognizing and manipulating objects (see Figure~\reffig{fig:scenario_objects}).
The TC will compile a list of at least \NumObjects objects for this purpose; the list will contain a picture of the each object, as well as its official name and \ObjectCategory{} (for instance, an \textit{Apple} belongs to the \textit{Fruits} category).
The TC will compile a list of at least \NumObjects{} objects for this purpose; the list will contain a picture of the each object, as well as its official name and \ObjectCategory{} (for instance, an \textit{Apple} belongs to the \textit{Fruits} category).
Most objects are likely to be lightweight and easy to grasp with one hand.
Every \ObjectCategory{} has an assigned \PredefinedLocation, where objects of that category can usually be found during tests (for example, an \textit{Fruits} can be found on the \textit{Kitchen Table}); assignments are announced during the \SetupDays{} (see~\refsec{chap:setup_and_preparation}).

Expand All @@ -127,13 +121,14 @@

The minimal configuration of \KnownObjects{} consists of:
\begin{itemize}
\item \textbf{\iterm{Tableware}:} Dish, bowl, cup (or mug), and napkin (see Figure \ref{fig:scenario_container_bowl}).
\item \textbf{\iterm{Tableware}:} Dish, bowl, cup (or mug), and napkin (see Figure~\ref{fig:scenario_container_bowl}).
\item \textbf{\iterm{Cutlery}:} Fork, knife, and spoon.
\item \textbf{\iterm{Trash Bags}:} Big plastic trash bags, preferably with a handle.
\item \textbf{\iterm{Bags}:} Lightweight and with stiff, vertical handles (see Figure \ref{fig:scenario_container_bag}).
\item \textbf{\iterm{Bags}:} Lightweight and with stiff, vertical handles (see Figure~\ref{fig:scenario_container_bag}).
\item \textbf{\iterm{Dry Food Container}:} Dry food containers (see Figure~\ref{fig:scenario_container_dry}).
\item \textbf{\iterm{Disks or books}:} A set of discs (LP, CD, DVD, or BluRay) or books.
\item \textbf{\iterm{Coat rack}:} A rack or pole to hang coats and other clothes.
\item \textbf{\iterm{Trays}:} A transport object such as a tray or basket, intended for bimanual manipulation (see Figure \ref{fig:scenario_container_tray}).
\item \textbf{\iterm{Trays}:} A transport object such as a tray or basket, intended for bimanual manipulation (see Figure~\ref{fig:scenario_container_tray}).
\item \textbf{\iterm{Pourable}:} An object whose content can be poured (such as a cereal box).
\item \textbf{\iterm{Heavy object}:} Weight between 1.0kg and 1.5kg.
\item \textbf{\iterm{Tiny object}:} A lightweight object that is not bigger than \SI{5}{\centi\meter} (such as paper, a teabag, or a pen).
Expand All @@ -145,16 +140,18 @@
\begin{figure}[H]
\centering
\subfloat[Cereal bowls]{
\label{fig:scenario_container_bowl}\includegraphics[width=0.33\textwidth]{images/container_bowl.png}}~
\includegraphics[width=0.33\textwidth]{images/container_bowl.png}\label{fig:scenario_container_bowl}}
\subfloat[Bright-colored paper bags]{
\label{fig:scenario_container_bag}\includegraphics[width=0.33\textwidth]{images/container_paper_bag.png}}~
\includegraphics[width=0.33\textwidth]{images/container_paper_bag.png}\label{fig:scenario_container_bag}}
\subfloat[Serving tray]{
\label{fig:scenario_container_tray}\includegraphics[width=0.33\textwidth]{images/container_tray.png}}
\includegraphics[width=0.33\textwidth]{images/container_tray.png}\label{fig:scenario_container_tray}}
\subfloat[Dry food Container]{
\includegraphics[width=0.33\textwidth]{images/container_dry.png}\label{fig:scenario_container_dry}}
\caption{Example of object containers}
\label{fig:scenario_containers}

Check warning on line 151 in pages/general_rules/Scenario.tex

View workflow job for this annotation

GitHub Actions / build-scoresheets

ChkTeX Action

Delete this space to maintain correct pagereferences. \label{fig:scenario_containers} ^
\end{figure}

During the competition, objects can be requested based on their \ObjectCategory, physical attributes, or a combination of both.
During the competition, objects can be requested based on their \ObjectCategory{}, physical attributes, or a combination of both.
Relevant attributes to be used are:
\begin{itemize}
\item Color (such as red, blue, black with white dots, etc.).
Expand All @@ -172,23 +169,20 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\subsection{Predefined Rooms and Locations}
\label{rule:scenario_locations}
\subsection{Predefined Rooms and Locations}\label{rule:scenario_locations}

Some tests in the RoboCup@Home league involve a \PredefinedLocation{} where people or objects can be found.
There will also be at least two \Term{doors}{Arena doors}, named an \Entrance{} and an \Exit, which lead in and out of the \Arena{}, respectively.
Room names, predefined locations, and location classes are announced during the \SetupDays{} (see~\refsec{chap:setup_and_preparation}).

\subsection{Predefined Person Names}
\label{rule:scenario_names}
\subsection{Predefined Person Names}\label{rule:scenario_names}

Some tests in the RoboCup@Home league involve memorizing a person's name.
All people in the \Arena{} have an assigned \PredefinedName{} chosen by the TC.

Check warning on line 181 in pages/general_rules/Scenario.tex

View workflow job for this annotation

GitHub Actions / build-scoresheets

ChkTeX Action

Intersentence spacing (`\@') should perhaps be used. All people in the \Arena{} have an assigned \PredefinedName{} chosen by the TC. ^
The list of names contains \SI{25}{\percent} male, \SI{25}{\percent} female, and \SI{50}{\percent} gender-neutral names taken from the list of most commonly used names in the United States.
Predefined names are announced during the \SetupDays{} (see~\refsec{chap:setup_and_preparation}).

\subsection{Wireless network}
\label{rule:scenario_wifi}
\subsection{Wireless network}\label{rule:scenario_wifi}

For wireless communication, an \ArenaNetwork{} is provided.
The actual infrastructure depends on the local organization.
Expand All @@ -204,7 +198,7 @@
\item Each VLAN is also connected to the Internet.
\end{itemize}

Teams broadcasting unauthorized (aka rogue) wireless networks will be disqualified from the competition and their devices may be temporarily confiscated by the OC; this includes smartphones and concealed SSIDs.
Teams broadcasting unauthorized (aka rogue) wireless networks will be disqualified from the competition and their devices may be temporarily confiscated by the OC, this includes smartphones and concealed SSIDs.
It is thus advised to verify your devices for any breaches of this nature.


Expand Down
11 changes: 9 additions & 2 deletions scoresheets/StoringGroceries.tex
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
\begin{scorelist}[timelimit=5]
\begin{scorelist}[timelimit=7]
\scoreheading{Main Goal}
\scoreitem{15}{Navigating to the table}
\scoreitem[5]{15}{Perceiving object and categorizing it correctly}
\scoreitem[5]{50}{Picking up an object for transportation to the cabinet}
\scoreitem[5]{15}{Perceiving objects in shelf and saying on which layer the currently handled object should be placed}
\scoreitem[5]{15}{Placing an object in the cabinet}
\scoreitem[5]{50}{Placing an object next to similar objects on the cabinet}
\scoreitem[2]{100}{Opening a cabinet door }
\scoreitem{300}{Pouring cereal into the container}

\scoreheading{Bonus Rewards}
\scoreitem{200}{Opening the cabinet door without human help}

\scoreitem{50}{Picking up an object from the shopping bag}
\scoreitem{70}{Picking up a tiny object}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest to also give 70 points here since it is more difficult. It is comparable to picking up the tiny/heavy objects.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would change the overall scores later. For now this is just to get the different score items into the rulebook

\scoreitem{30}{Placing a tiny object}
\scoreitem{70}{Picking up a heavy object}
Expand All @@ -19,6 +22,10 @@
\penaltyitem[5]{-15}{A human placing an object in the cabinet}
\penaltyitem[5]{-50}{A human placing an object in the cabinet next to similar objects}
\penaltyitem[5]{-25}{A human pointing at a target location}
\penaltyitem[2]{100}{A human opening the cabinet door}
\penaltyitem{100}{Spilling cereal while pouring}
\penaltyitem{100}{Leaving cereal in the box}
\penaltyitem{300}{A human pouring cereal in the bowl}
\end{scorelist}


Expand Down
38 changes: 20 additions & 18 deletions tasks/StoringGroceries.tex
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
\section{Storing Groceries}
\label{test:storing-groceries}
\section{Storing Groceries}\label{test:storing-groceries}
The robot stores groceries into a cabinet with shelves. Objects are sorted on the shelves based on similarity, for instance an apple is stored next to other fruits.\\

\noindent \textbf{Main goal:} Move five objects from a table to the cabinet, grouping them by category or similarity.\\
\noindent \textbf{Main goal:} Move objects from a table to the cabinet, grouping them by category or similarity. Refilling the cereal container.\\

\noindent \textbf{Optional goals:}
\begin{enumerate}[nosep]
\item Opening the cabinet door
\item Opening the cabinet doors
\item Moving a \emph{tiny} object
\item Moving a \emph{heavy} object
\item Picking Objects from the shopping bag
\end{enumerate}

\subsection*{Focus}
Expand All @@ -31,13 +31,15 @@
\item \textbf{Furniture:}
\begin{itemize}
\item \textbf{Table:} The table has 5--10 objects placed on it and the robot can choose which ones to grasp and in what order. On small tables, objects will be added as the robot frees up space.
\item \textbf{Shopping Bag:} There is a shopping bag with 5--10 additional items on the ground next to the table.
\item \textbf{Cabinet:} The cabinet contains objects arranged in groups --- either by category or likeliness --- on different shelves.
\item \textbf{Cabinet door:} The cabinet door is open by default, but the team leader can request the door to be closed and score additional points for opening it. If the robot fails to open the door, it must clearly state this and request the referee to open it.
\item \textbf{Cabinet door:} The cabinet is closed. If the robot fails to open the door, it must clearly state this and request the referee to open it.
\end{itemize}
\item \textbf{Objects}:
\begin{itemize}
\item \textbf{Table objects:} The object on the table are arranged arbitrarily.
\item \textbf{Cabinet objects:} Some of the objects are placed behind the cabinet door and cannot be accessed unless the door is open.
\item \textbf{Cabinet objects:} The objects are placed behind the cabinet doors and cannot be accessed unless the doors are open.
\item \textbf{Containers:} The container for the cornflakes are placed on the table.
\end{itemize}
\end{itemize}

Expand All @@ -48,13 +50,9 @@
\subsection*{Procedure}
\begin{enumerate}[nosep]
\item \textbf{Table location:} At least two hours before the test, the referees announce the table and cabinet that will be used in the test, as well as a rough location of the table.
\item \textbf{Cabinet door; heavy and/or tiny object}: Half an hour before the test, the team informs the referees:
\begin{itemize}
\item whether the cabinet door should be closed
\item whether a heavy and/or a tiny object should be used in the test
\end{itemize}
\item \textbf{Test start:} The robot moves to the testing area when the arena door is open.
\item \textbf{Storing groceries:} After identifying the table (and optionally opening the cabinet door), the robot moves the objects from the table to the cabinet.
\item \textbf{Storing groceries:} After identifying the table, the robot moves the objects from the table to the cabinet.
\item \textbf{Pouring cereal:} The robot should pour cereal into the designated open container.
\end{enumerate}


Expand All @@ -70,13 +68,13 @@
\begin{itemize}
\item telling or pointing out to the robot where to place an object
\item moving an object instead of the robot
\item opening the cabinet doors
\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 sufficent. When using visualization, make sure the robot
tells the referee where to look and make the visualization easily accesible.
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.
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 make 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.

Check warning on line 77 in tasks/StoringGroceries.tex

View workflow job for this annotation

GitHub Actions / build-scoresheets

ChkTeX Action

Interword spacing (`\ ') should perhaps be used. Also make sure the surrounding scene is visible, i.e. just showing a cropped bounding box is not enough. ^
\end{enumerate}

\subsection*{OC Instructions}
Expand All @@ -85,15 +83,19 @@
\begin{itemize}
\item Announce which table and cabinet will be used in the test.
\item Announce a rough location for the table.
\item Select which bags will be used in the test.
\item Select which container will be used in the test.
\end{itemize}

\subsection*{Referee Instructions}

The referee needs to:
\begin{itemize}
\item Place 5--10 objects on the table.
\item Place container and cornflakes on the table.
\item Place 5--10 objects in a bag near the table.
\item Place objects in the cabinet, grouping them by category or likeliness.
\item Open the door of the cabinet (unless the team wants it closed).
\item Close the door of the cabinet.
\end{itemize}


Expand Down
Loading