Skip to content

Commit

Permalink
Merge branch 'master' into restart
Browse files Browse the repository at this point in the history
  • Loading branch information
sunava authored Dec 9, 2024
2 parents 297519f + 6843da9 commit 0460654
Show file tree
Hide file tree
Showing 31 changed files with 136 additions and 226 deletions.
13 changes: 4 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: LaTeX linter (chktex)
uses: j2kun/chktex-action@1.0.3
uses: j2kun/chktex-action@v2.0.0
# Provide this output for context, but don't fail builds
continue-on-error: true
env:
Expand All @@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
document: [organization, rulebook, scoresheets]
document: [rulebook, scoresheets]

steps:
- uses: actions/checkout@v4
Expand All @@ -36,6 +36,7 @@ jobs:
- name: LaTeX compilation
run:
TERM=xterm make ${{ matrix.document }}

- name: Upload build result
uses: actions/upload-artifact@v4
with:
Expand All @@ -53,11 +54,6 @@ jobs:
with:
ref: gh-pages

- name: Download organization
uses: actions/download-artifact@v4
with:
name: organization
path: ${{ runner.temp }}/organization
- name: Download rulebook
uses: actions/download-artifact@v4
with:
Expand All @@ -68,20 +64,19 @@ jobs:
with:
name: scoresheets
path: ${{ runner.temp }}/scoresheets

- name: Preparations for GitHub Pages
if: github.ref_name == github.event.repository.default_branch
env:
ARTIFACTS_PATH: ${{ runner.temp }}
run: |
# Make sure directories exist
cd "${GITHUB_WORKSPACE}"
mkdir -p organization
mkdir -p rulebook
mkdir -p scoresheets
FILENAME=${GITHUB_REF_NAME}
# Strip out any extra slashes in the rest
FILENAME=${FILENAME//\//\_}.pdf
mv ${ARTIFACTS_PATH}/organization/organization.pdf organization/${FILENAME}
mv ${ARTIFACTS_PATH}/rulebook/rulebook.pdf rulebook/${FILENAME}
mv ${ARTIFACTS_PATH}/scoresheets/scoresheets.pdf scoresheets/${FILENAME}
- name: Commit and push to GitHub Pages
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: LaTeX linter (chktex)
uses: j2kun/chktex-action@1.0.3
uses: j2kun/chktex-action@v2.0.0
# Provide this output for context, but don't fail builds
continue-on-error: true
env:
Expand All @@ -30,15 +30,13 @@ jobs:
- name: Allow for file ownership conflicts with Docker and GitHub Actions
run: git config --global --add safe.directory '*'

- name: LaTeX compilation Organization
run:
TERM=xterm make organization
- name: LaTeX compilation Rulebook
run:
TERM=xterm make rulebook
- name: LaTeX compilation Score sheets
run:
TERM=xterm make scoresheets

- name: Create Release
id: create-release
uses: softprops/action-gh-release@v2
Expand All @@ -48,6 +46,5 @@ jobs:
generate_release_notes: false
token: ${{ secrets.GITHUB_TOKEN }}
files: |
.build/organization.pdf
.build/rulebook.pdf
.build/scoresheets.pdf
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ All notable changes to this project will be documented in this file.

## Rulebook [Current Draft]

* [#920](https://github.com/RoboCupAtHome/RuleBook/pull/920): DSPL: Allow a mounted microphone on hsr.
* [#922](https://github.com/RoboCupAtHome/RuleBook/pull/922): Remove Bonus for perceived social intelligence as the survey was too hard to conduct in Robocup settings.
* [#917](https://github.com/RoboCupAtHome/RuleBook/pull/917) revert: split document into Rulebook and Organization document
* [#887](https://github.com/RoboCupAtHome/RuleBook/pull/887): Remove Social Standard Platform League.
* The League does have a low number of participants.
* Former SSPL Teams can participate in the OPL and thus modify the Robot.
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ RuleBook for RoboCup @Home 2025
### PDF Downloads

[Rulebook](https://robocupathome.github.io/RuleBook/rulebook/master.pdf)
[Organization guidelines](https://robocupathome.github.io/RuleBook/organization/master.pdf)
[Score sheets](https://robocupathome.github.io/RuleBook/scoresheets/master.pdf)

The current version for 2025 is **draft**
Expand Down
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ IMAGE=docker.io/texlive/texlive:TL2022-historic

if command -v podman >/dev/null 2>&1
then
podman run --rm --net=none -w /data/ -v`pwd`:/data -e TERM=xterm-256color $IMAGE make all
podman run --rm --net=none -w /data/ -v`pwd`:/data -e TERM=xterm-256color $IMAGE make rulebook scoresheets
else
docker run --rm --user="$(id -u):$(id -g)" --net=none -w /data/ -v`pwd`:/data -e TERM=xterm-256color $IMAGE make all
docker run --rm --user="$(id -u):$(id -g)" --net=none -w /data/ -v`pwd`:/data -e TERM=xterm-256color $IMAGE make rulebook scoresheets
fi

File renamed without changes.
11 changes: 0 additions & 11 deletions citation_organization.bib

This file was deleted.

File renamed without changes.
7 changes: 3 additions & 4 deletions documents/rulebook.tex
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,17 @@

\input{pages/rulebook/Introduction}

%\input{roadmap/CompetitionConcepts}
\input{pages/roadmap/CompetitionConcepts}

\input{pages/rulebook/GeneralRules}

%\input{Setup}
\input{pages/organization/Setup}



%%% STAGE I
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Tests in Stage I}
\label{chap:stage_I}
\chapter{Tests in Stage I}\label{chap:stage_I}

\testtocentry{test:carry-my-luggage}
\testtocentry{test:gpsr}
Expand Down
2 changes: 1 addition & 1 deletion pages/general_rules/ContinueRules.tex
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ \subsection{Bypassing Automatic Speech Recognition}
\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.

\item \textbf{Alternative Input Method:} A reduction of up to 30\% of the maximum attainable score is applied when a \iterm{alternative HRI interface}, is used to instruct the robot.
Alternative HRI interfaces (see~\refsec{rule:asralternative}) must be previously approved by the TC during the Robot Inspection (see \Organisation).
Alternative HRI interfaces (see~\refsec{rule:asralternative}) must be previously approved by the TC during the Robot Inspection (see~\refsec{sec:robot_inspection}).
\end{enumerate}


Expand Down
2 changes: 1 addition & 1 deletion pages/general_rules/ExternalDevices.tex
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ \section{External devices}
\subsection{On-site External Computing}

Computing resources that are not physically attached to the robot are considered \ExternalComputing{} resources.
The use of up to five \ExternalComputing{} resources is allowed, but only in the \ArenaNetwork{} (see \Rulebook) and with a prior approval of the TC.
The use of up to five \ExternalComputing{} resources is allowed, but only in the \ArenaNetwork{} (see~\refsec{rule:scenario_wifi}) and with a prior approval of the TC.
Teams must inform the TC about the use of any \ExternalComputing{} at least one month before the competition.
Note, however, that robots must be able to operate safely even if \ExternalComputing{} is unavailable.

Expand Down
10 changes: 3 additions & 7 deletions pages/general_rules/Organization.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Organization of the Competition}
\label{sec:procedure_during_competition}
\section{Organization of the Competition}\label{sec:procedure_during_competition}

\subsection{Stage System}\label{rule:stages}

Expand Down Expand Up @@ -120,18 +119,15 @@ \subsection{Schedule}
\label{tbl:schedule}
\end{table}

\noindent Note that the actual allocation of blocks will be announced by the OC during the \SetupDays{} (see Table \ref{tbl:schedule}).
\noindent Note that the actual allocation of blocks will be announced by the OC during the \SetupDays{} (see Table~\ref{tbl:schedule}).

\subsection{Scoring System}
\label{rule:score_system}
\subsection{Scoring System}\label{rule:score_system}

Each task has a main objective and a set of bonus scores.
To score in a test, a team must successfully accomplish the main objective of the task; bonuses are not awarded otherwise.

The scoring system has the following constrains:
\begin{enumerate}
\item \textbf{\SONE:} The maximum total score per task in \SONE{} is \scoring{1000 points}.
\item \textbf{\STWO:} The maximum total score per task in \STWO{} is \scoring{2000 points}.
\item \textbf{\FINAL:} The final score is normalized.
\item \textbf{Minimum score:} The minimum total score per test in \SONE{} and \STWO{} is \scoring{0 points}.
In principle, teams cannot receive negative points, except if they receive penalties.
Expand Down
39 changes: 0 additions & 39 deletions pages/general_rules/PenaltiesBonuses.tex
Original file line number Diff line number Diff line change
Expand Up @@ -41,45 +41,6 @@ \subsection{Bonus for outstanding performance}\label{rule:outstanding_performanc
\item It is the decision of the \iaterm{Technical Committee}{TC} if (and to which degree) the bonus score is granted.
\end{enumerate}

\subsection{Bonus for perceived social intelligence}\label{rule:perceived_intelligence}
\begin{enumerate}
\item For the test \iterm{Receptionist} in \iterm{Stage~I} and, \iterm{Restaurant} in \iterm{Stage~II} tests. Teams are evaluated on the robot's perceived social intelligence
performance

\item This bonus, ranging from 0 to 50, depends on the robot's social performance which will be assessed by Referees using a specially designed scale in a survey.

\item The survey evaluates how the robot recognizes, adapts to, and predicts emotions, behaviors, and cognitions. Each component is assessed through several questions, scored on a scale from 1 to 5, where 1 represents "strongly disagree" and 5 represents "strongly agree." The questions used for evaluation include:
\begin{itemize}
\item This robot notices human presence
\item This robot enjoys meeting people
\item This robot recognizes individual people
\item This robot notices when people do things
\item This robot adapts effectively to different things people do
\item This robot anticipates people's behavior
\item This robot tries to be helpful
\item This robot is trustworthy
\item This robot cares about others
\item This robot tries to hurt people
\item This robot knows if someone is part of a social group
\item This robot thinks it is better than everyone else
\item This robot adapts its behavior based upon what people around it know
\item This robot is impolite
\item This robot is socially competent
\end{itemize}
Detailed information can be found in this \href{https://ipip.ori.org/PSIManualSeptember2018.pdf}{manual}.

\item In each evaluation, the score for every question is summed up and then normalized as follows:
\[ x' = N \cdot \frac{{x - x_{\text{min}}}}{{x_{\text{max}} - x_{\text{min}}}} \]

Here, \( N \) is the normalizing factor (50), \( x \) is the sum of scores for each question in the current evaluation, \( x_{\text{min}} \) is set to 15 (since there are 15 questions), and \( x_{\text{max}} \) is set to 75 (as the maximum score for each question is 5).

\item The final score is calculated as the average of individual evaluator scores.

\item The referee has the authority to skip the social assessment test if they believe the robot's performance is not suitable for measurement.

\item After the test is completed, the evaluators will fill out the form, and the scores will be automatically recorded in this \href{https://urjc-my.sharepoint.com/:x:/g/personal/juan_pena_urjc_es/Eb4WyP1H4-FCqeW-qVZ3mF0BRzBR1Cn-J5ltluy90fhTJQ?rtime=guRqYF483Eg}{spreadsheet}.
\end{enumerate}

% Local Variables:
% TeX-master: "../Rulebook"
% End:
51 changes: 30 additions & 21 deletions pages/general_rules/Procedure.tex
Original file line number Diff line number Diff line change
Expand Up @@ -91,31 +91,39 @@ \subsection{Removal of robots}
\end{enumerate}


\subsection{Start signal}\label{rule:start_signal}
\subsection{Start Signal}\label{rule:start_signal}
The default \iterm{start signal} (unless stated otherwise) is \iterm{door opening}.
Other start signals are allowed but must be authorized by the \iaterm{Technical Committee}{TC} during the Robot Inspection (see~\refsec{sec:robot_inspection}).

\begin{enumerate}
\item \textbf{Door opening:} The robot is waiting behind the door, outside the \Arena{} and accompanied by a team member.
The test starts when a referee (not a team member) opens the door.

\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 start button.
\begin{enumerate}[nosep]
\item It must be a physical button on the robot (e.g., a dedicated one or releasing the eStop).
\item It is allowed to use the robot's contact/pressure sensors (e.g., pushing the head or an arm joint).
\item Using a start button needs to be announced to the referees before the test starts.
\item There may be penalties for using a start button in some tests
\end{enumerate}

\item \textbf{Ad-hoc start signal:} Other means of triggering robot to action are allowed but must be approved by the \iaterm{Technical Committee}{TC} during the Robot Inspection (see~\refsec{sec:robot_inspection}).
These include:
\begin{itemize}[nosep]
\item QR Codes
\item Verbal instructions
\item Custom HRI interfaces (apps, software, etc.)
\end{itemize}
\textbf{Remark:} There may be penalties for using Ad-hoc start signals in some tests. The use of mouses, keyboards, and devices attached to ECRA computers is strictly forbidden.

\item \textbf{Door opening:} The robot is waiting behind the door, outside the \Arena{} and accompanied by a team member.
The test starts when a referee (not a team member) opens the door.

\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 start button.
\begin{enumerate}[nosep]
\item It must be a physical button on the robot (e.g., a dedicated one or releasing the eStop).
\item It is allowed to use the robot's contact/pressure sensors (e.g., pushing the head or an arm joint).
\item Using a start button needs to be announced to the referees before the test starts.
\item There may be penalties for using a start button in some tests.
\end{enumerate}

\item \textbf{Ad-hoc start signal:} Other means of triggering the robot to action are allowed but must be approved by the \iaterm{Technical Committee}{TC} during the Robot Inspection (see~\refsec{sec:robot_inspection}).
These include:
\begin{itemize}[nosep]
\item QR Codes
\item Verbal instructions
\item Custom HRI interfaces (apps, software, etc.)
\end{itemize}
\textbf{Remark:} There may be penalties for using Ad-hoc start signals in some tests. The use of mouses, keyboards, and devices attached to ECRA computers is strictly forbidden.

\item \textbf{No penalties for physical constraints (HSR only):}
In cases where a physical issue, such as a door bump, impedes the league's ability to ensure a standard start signal with full safety for the HSR robot, penalties will not be imposed. The following guidelines apply:
\begin{itemize}[nosep]
\item The team must document the physical issue and notify the committee prior to the Robot Inspection.
\item The issue must be reviewed and approved by the league's rules committee.
\item An alternative start method will be determined on-site in consultation with the committee.
\end{itemize}
This rule ensures fairness and flexibility while addressing unavoidable physical challenges during league operations.
\end{enumerate}

\subsection{Restart Rule}
Expand All @@ -131,6 +139,7 @@ \subsection{Restart Rule}
\end{itemize}



\subsection{Entering and leaving the \Arena{}}
\label{rule:start_position}
\begin{enumerate}
Expand Down
1 change: 1 addition & 0 deletions pages/general_rules/Robots-SPL.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ \subsubsection{Authorized DSPL Modifications}
Furthermore, teams are allowed to attach the following devices to either the \HSR{} or the laptop in the \MountingBracket:
\begin{itemize}
\item \textbf{Audio}: A USB audio output device, such as a USB speaker or a sound card dongle.
\item \textbf{Microphone}: A USB or AUX external microphone. Wireless microphones are not allowed.
\item \textbf{Wi-Fi adapter}: A USB-powered IEEE 802.11ac (or newer) compliant device.
\item \textbf{Ethernet Switch}: A USB-powered IEEE 802.3ab (or newer) compliant device.
\end{itemize}
Expand Down
6 changes: 3 additions & 3 deletions pages/general_rules/Scenario.tex
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ \subsection{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).
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 \Organisation).
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}).

Objects are provided at the competition for training.
Teams may keep at most five training objects at a time and for at most one hour.
Expand Down Expand Up @@ -177,15 +177,15 @@ \subsection{Predefined Rooms and 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 \Organisation).
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}

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.
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 \Organisation).
Predefined names are announced during the \SetupDays{} (see~\refsec{chap:setup_and_preparation}).

\subsection{Wireless network}
\label{rule:scenario_wifi}
Expand Down
2 changes: 1 addition & 1 deletion pages/introduction/Infrastructure.tex
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ \section{Infrastructure}
\label{sec:introduction:mailinglist}
The official \AtHome{} mailing list can be found at\\
\href{mailto:[email protected]}{\small\texttt{[email protected]}}.
You can subscribe to the mailing list at: {\small\url{http://lists.robocup.org/cgi-bin/mailman/listinfo/robocup-athome}}
You can subscribe to the mailing list at: {\small\url{https://lists.robocup.org/mm/lists/robocup-athome.lists.robocup.org/}}

\paragraph{RoboCup@Home Web Page}
\label{sec:introduction:webpage}
Expand Down
Loading

0 comments on commit 0460654

Please sign in to comment.