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 #520

Merged
merged 6 commits into from
Feb 19, 2019
Merged
Changes from 1 commit
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
39 changes: 16 additions & 23 deletions tasks/StoringGroceries.tex
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
\section{Storing Groceries [Housekeeper]}
The robot stores groceries into the shelf next to the objects of the same kind that are already there (e.g. for instance by placing apples near pears and bananas).
\section{Storing Groceries}
The robot stores groceries into a pantry shelf while paying attention to sorting objects in their appropriate place, i.e. storing an apple next to other fruits.

% \subsection{Focus}
% This test focuses on the detection and recognition of objects and their features, as well as object manipulation.

\subsection{Main Goal}
The robot has to move 5 out of 10 objects from a nearby table into the shelf. Objects must be placed next to objects of the same Category or grouped by similarity.
The robot has to move objects from a table into a shelf. Objects must be placed next to objects of the same category or grouped by similarity.

\noindent\textbf{Reward:} 500pts\\
\noindent\textbf{Reward:} 500pts (100pts per object).\\

\noindent\textbf{HINT:} The robot can ask the referee where to place the carried object (relative positions or pointing are both allowed).
%\noindent\textbf{HINT:} The robot can ask the referee where to place the carried object (relative positions or pointing are both allowed).

\subsection{Bonus rewards}
\begin{enumerate}[nosep]
Expand All @@ -25,19 +25,16 @@ \subsection{Bonus rewards}
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Setup}
\begin{enumerate}
\item \textbf{Location:} The testing area has a shelf and a table.
The distance between the Table and the Shelf cannot exceed 2 meters.
\item \textbf{Location:} The testing area has a shelf and a table nearby.

\item \textbf{Shelf:} The shelf contains at least 10 objects arranged in groups of 2 or more, either by category or likeliness.
The shelf has at least one free space for starting a new set.
\item \textbf{Shelf:} The shelf contains objects arranged in groups either by category or likeliness.

\item \textbf{Shelf door:} The shelf door is open by default.
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 it and request the referee to open it.
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 it and request the referee to open it.

\item \textbf{Objects:} Some of the objects are placed behind the door and cannot be accessed unless the door is open.

\item \textbf{Table:} The table can have up to 10 objects, but never less than 5.
In small tables, objects will be added as the robot frees up space.
\item \textbf{Table:} The table has several objects placed on it and the robot can choose which ones to grasp and in what order. In small tables, objects will be added as the robot frees up space.
\end{enumerate}


Expand All @@ -48,16 +45,12 @@ \subsection{Setup}
% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Additional rules and remarks}
\begin{enumerate}
\item \textbf{Clear area:} The robot may assume that the working area is clear, (i.e. can move slightly backwards for its task).
\item \textbf{Deus ex Machina:} Score reduction for requesting human assistance is applied per object as follows:
\begin{itemize}[nosep]
\item Telling or pointing out to the robot where to place an object results in a 30\% point reduction for that object.
\end{itemize}

\item \textbf{Object distribution:} The 10 objects to be moved are evenly distributed in random fashion including
4 known objects,
4 alike objects, and
2 unknown objects.
Among these, the robot will always find
a heavy object,
a tiny object, and
an amorphous object.
\item \textbf{Clear area:} The robot may assume that the working area is clear, (i.e. can move slightly backwards for its task).
Copy link
Contributor

Choose a reason for hiding this comment

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

I strongly disagree with this change. It is necessary to keep fairness (even distribution among teams) and for logistical reasons. Further, the heavy and tiny objects are necessary due to bonus points (see scoresheet).

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 agree that distribution has to be equal for all teams but I think that is something for the referees to decide on location and is not something that should or needs to be in the rulebook. Why not allow the referees the flexibility to decide: "Hey at this competition no team is really strong in manipulation let's use easier objects for everyone." And also if teams get stronger we do not need to update single numbers from year to year and keep more consistency in the rulebook over time

Copy link
Contributor

Choose a reason for hiding this comment

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

Because scoring needs to be consistent among tests. This tests makes pick and place an object automatically worth ~100pts, so it can be taken as measure for assigning scores to other tests. Further, we are implying that each manipulation should not take more than one minute.

Besides, we need to be consistent in the three leagues (or at least between OPL and DSPL). If you leave the decision to the referees, the difficulty will vary between leagues and you have no consistent progression over the years.

Teams know:

  • There are [5, 10] objects to deal with
  • We must move 5
  • 3 are easy to recognize (and grasp?)
  • The rest are a PITA. (← all decision making enters here)

So yes, a state machine can be used, but a more robust decision making will produce better results to maximize scoring. IMHO, that setup is way too complex for a state machine.

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 don't see how this affects consistency among other tests.
Consistency among leagues I understand but don't the referees switch leagues anyway during a competition and talks are with referees of all leagues.
Consistency over the years I agree is lost a little here but definitely not entirely.
I prefer teams know:
-There are several objects on a table
-We get points for moving up to five of them
-Our robot should know which of the objects are easy to grasp for it

Copy link
Contributor

@kyordhel kyordhel Jan 18, 2019

Choose a reason for hiding this comment

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

up to five

Or maybe at least.

Let's hear other opinions from the @RoboCupAtHome/technical-commmittee

Copy link
Contributor

Choose a reason for hiding this comment

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


\item \textbf{Table} The table's rough location will be announced beforehand, having its position either left, right, or behind the robot.
\end{enumerate}
Expand All @@ -67,14 +60,14 @@ \subsection{OC instructions}

\textbf{2 hours before the test}
\begin{itemize}
\item Announce which table will be used in the test.
\item Announce which table and shelf will be used in the test.
\item Announce a rough location for the table.
\end{itemize}

\subsection{Referee instructions}
The referee needs to
\begin{itemize}
\item Place the objects in the shelf, grouping them by likeliness.
\item Place objects in the shelf, grouping them by likeliness.
\item Open the door of the shelf.
\item Place objects on the table.
\end{itemize}
Expand Down