Showing preview only (492K chars total). Download the full file or copy to clipboard to get everything.
Repository: RoboCupAtHome/RuleBook
Branch: master
Commit: 36dbe93324bd
Files: 141
Total size: 456.9 KB
Directory structure:
gitextract_iaz7sjfm/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.md
│ │ ├── question.md
│ │ └── suggestion.md
│ ├── code_of_conduct.md
│ ├── contributing.md
│ ├── dependabot.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── ci.yml
│ └── release.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── LICENSE.CC-BY-SA-4.0
├── LICENSE.GPL-2.0
├── Makefile
├── README.md
├── build.sh
├── citation.bib
├── documents/
│ ├── organization.tex
│ ├── roadmap.tex
│ ├── rulebook.tex
│ └── scoresheets.tex
├── images/
│ └── standard_QR_codes.tex
├── latexmkrc
├── pages/
│ ├── Appendices.tex
│ ├── LeagueRequirements.tex
│ ├── acknowledgments.tex
│ ├── example_skills.tex
│ ├── general_rules/
│ │ ├── AudienceInteraction.tex
│ │ ├── ContinueRules.tex
│ │ ├── ExternalDevices.tex
│ │ ├── OpenChallenge.tex
│ │ ├── Organization.tex
│ │ ├── PenaltiesBonuses.tex
│ │ ├── Procedure.tex
│ │ ├── Robots.tex
│ │ ├── Scenario.tex
│ │ ├── ScoringInteraction.tex
│ │ ├── TeamRegistration.tex
│ │ └── vizbox.tex
│ ├── introduction/
│ │ ├── Awards.tex
│ │ ├── Competition.tex
│ │ ├── Infrastructure.tex
│ │ ├── Leagues.tex
│ │ └── Organization.tex
│ ├── organization/
│ │ ├── GeneralRules.tex
│ │ ├── Introduction.tex
│ │ ├── Setup.tex
│ │ ├── about.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ ├── roadmap/
│ │ ├── CompetitionConcepts.tex
│ │ ├── acknowledgments.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ ├── rulebook/
│ │ ├── GeneralRules.tex
│ │ ├── Introduction.tex
│ │ ├── about.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ └── scoresheets/
│ └── registration_form.tex
├── scoresheets/
│ ├── DoingLaundry.tex
│ ├── Finals.tex
│ ├── GPSR.tex
│ ├── HumanRobotInteractionChallenge.tex
│ ├── OpenChallenge.tex
│ ├── PickAndPlaceChallenge.tex
│ ├── PosterSession.tex
│ ├── Restaurant.tex
│ └── old/
│ ├── CleanTable.tex
│ ├── CleanUp.tex
│ ├── CocktailParty.tex
│ ├── EGPSR.tex
│ ├── Farewell.tex
│ ├── FinalsExec.tex
│ ├── FinalsJury.tex
│ ├── FindMyDisk.tex
│ ├── FindMyMates.tex
│ ├── GiveMeAHand.tex
│ ├── HandMeThat.tex
│ ├── HelpMeCarry.tex
│ ├── PnG.tex
│ ├── Receptionist.tex
│ ├── SPR.tex
│ ├── ServeBreakfast.tex
│ ├── ServingDrinks.tex
│ ├── SetTable.tex
│ ├── SmoothieChef.tex
│ ├── SticklerForRules.tex
│ ├── StoringGroceries.tex
│ ├── TakeOutGarbage.tex
│ ├── TidyUp.tex
│ ├── TourGuide.tex
│ └── WhereIsThis.tex
├── setup/
│ ├── abbrevix.tex
│ ├── active_version.tex
│ ├── config.tex
│ ├── macros.tex
│ ├── macros_leagues.tex
│ ├── macros_open_demonstrations.tex
│ ├── macros_scoresheets.tex
│ ├── packages.tex
│ ├── packages_scoresheets.tex
│ └── styling.tex
├── styles/
│ ├── bar.sty
│ └── tweaklist.sty
├── tasks/
│ ├── DoingLaundry.tex
│ ├── Finals.tex
│ ├── GPSR.tex
│ ├── HumanRobotInteractionChallenge.tex
│ ├── PickAndPlaceChallenge.tex
│ ├── Restaurant.tex
│ └── old/
│ ├── CleanTable.tex
│ ├── CleanUp.tex
│ ├── CocktailParty.tex
│ ├── EEGPSR.tex
│ ├── EGPSR.tex
│ ├── Farewell.tex
│ ├── FindMyDisk.tex
│ ├── FindMyMates.tex
│ ├── GiveMeAHand.tex
│ ├── HandMeThat.tex
│ ├── HelpMeCarry.tex
│ ├── OpenChallenge.tex
│ ├── PnG.tex
│ ├── Receptionist.tex
│ ├── SPR.tex
│ ├── ServeBreakfast.tex
│ ├── ServingDrinks.tex
│ ├── SetTable.tex
│ ├── SmoothieChef.tex
│ ├── SticklerForRules.tex
│ ├── StoringGroceries.tex
│ ├── TakeOutGarbage.tex
│ ├── ThemedFinals.tex
│ ├── TidyUp.tex
│ ├── TourGuide.tex
│ ├── WhatisThat.tex
│ └── WhereIsThis.tex
└── teams/
└── teams.tex
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
#* text=auto
*.tex diff=tex
*.jpg binary
*.png binary
*.pdf binary
*.svg binary
================================================
FILE: .github/ISSUE_TEMPLATE/bug.md
================================================
---
name: Bug
about: Report a problem with the Rulebook.
title: ''
labels: Bug
assignees: ''
---
## Describe the bug
A clear and concise description of what the bug is.
If it is a compile error, please provide a full traceback of the error that you received (if any), regardless of how long it is.
## To Reproduce
Steps to reproduce the behavior
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
## Expected behavior
A clear and concise description of what you expected to happen.
## System (please complete the following information):
- OS: [e.g. OSX, Linux]
- LaTeX version:
## Additional context
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: Question
about: Ask about something you don't understand.
title: 'Q: [3-5 words encapsulating your question]'
labels: Question
assignees: ''
---
### Before posting your question
Before posting your question, please make sure you have:
1. Searched within existing [issues](https://github.com/RoboCupAtHome/RuleBook/issues?q=is%3Aissue+label%3AQuestion) for related questions.
2. Searched for your question in the [F.A.Q.](https://github.com/RoboCupAtHome/RuleBook/wiki/FAQ:-Frequently-Asked-Questions)
## Quick guide
1. Ask only **one question per issue**
2. Make the **title short and descriptive**
1. Start with *Q:*
2. Use the acronym of the related test (if any)
3. Avoid obvious words like: *question, about, doubt, wrong, example*, etc.
3. Make the body of the issue concise but explicative
4. (If you are a contributor already) Add the label of the related test(s), or *General Rules* for questions affecting all of the rulebook
5. Close the issue once your question has been answered
===
## Summary
Summary of the question here (one concise paragraph).
## Details
Any additional details and examples relevant to your question.
Please link to the branch/file/line-number or at least to the relevant section of the rules.
Do not refer to date/build/page.
Always double check your spelling and grammar :)
================================================
FILE: .github/ISSUE_TEMPLATE/suggestion.md
================================================
---
name: Idea
about: Suggest an idea for the rulebook.
title: ''
labels: Idea
assignees: ''
---
## Is your idea/suggestion related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
## Describe the solution you'd like
A clear and concise description of what you want to happen.
## Describe alternatives you've considered
A clear and concise description of any alternative solutions you've considered.
## Additional context
Add any other context about the suggestion here.
================================================
FILE: .github/code_of_conduct.md
================================================
## RoboCup Federation Code of Conduct
Approved April 2019
The RoboCup Federation (RCF) coordinates a variety of competitions, conferences, workshops, educational outreach activities, and online discussions pertaining to advancing the state of the art in AI and robotics research.
RoboCup has a rich past record of fostering inclusion and respect for all participants and remains dedicated to providing a respectful and inclusive experience for everyone. Respectful behavior is always, and has always been, assumed and expected of community members in all interactions.
Competition participants and attendees are expected to interact with others in a respectful and courteous manner, and to abide by standard academic practices of giving appropriate credit for other peoples' ideas.
Abusive, racist, sexist, homophobic, intimidating, harassing, or threatening behavior towards any other event participant or directed at any organizer, student volunteer, sponsor, event staff, or spectators, will not be tolerated. RoboCup disapproves of offensive actions, aggressive acts, or comments that intimidate or disparage others. RoboCup will not tolerate any kind of harassment, including but not limited to:
* Verbal attacks, accusations, bullying, or offensive comments Aggressive or intimidating behavior
* Sustained disruption during presentations and other events
* Unwelcome sexual attention
* Inappropriate physical contact
* Deliberate intimidation or stalking either in person or online Sexual and racist images or materials in public spaces
* Ignoring, encouraging, or advocating any of the above behaviors
RoboCup also disapproves of, and will not tolerate acts of plagiarism.
All persons, organizations and entities that attend RoboCup events are subject to the standards of conduct set forth above. RoboCup expects all community members to formally endorse this code of conduct, and to actively prevent and discourage any undesired behaviors. Everyone should feel empowered to politely engage when themselves or others are disrespected, and to raise awareness and understanding of this code of conduct. RoboCup event participants asked to stop their unacceptable behavior are expected to comply immediately. Sponsors are also subject to this code of conduct in their participation in RoboCup events.
All RoboCup agents and/or representatives are empowered to take all necessary action to prevent and/or stop any conduct that violates this code including but not limited to demanding that the violator be removed either temporarily or permanently from the current event and/or future events (without refund) or calling in local law enforcement officials to assist in the matter.
To report any behavior that violates this code of conduct, please immediately report the conduct complained of to a RoboCup representative at the conference or event, or contact (by email or in person) the RoboCup president or any RoboCup trustee. The following email address may also be used: conduct@robocup.org. Complaints will be reviewed by a subcommittee of the board of trustees, and may be referred to law enforcement when warranted.
================================================
FILE: .github/contributing.md
================================================
Thanks for considering contributing! The league only exists with the support of the community.
## How Can I Contribute?
### Do you have an idea to improve the rules?
Please open [a new GitHub issue](https://github.com/RoboCupAtHome/RuleBook/issues) describing your idea.
### Did you write a fix for a bug?
Contributions to the rulebook must be in the form of pull requests and meet the conventions and policies described in the [contribution guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Contributing). For guidelines about the workflow check [here](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Workflow).
### I want to help maintain the league website
We're always looking for volunteers to help in tasks such as organizing and categorizing publications, team videos, memories, scores, press, and writing examples and extended rule explanations.
Please contact the Organizing Committee.
### Do you want to develop a utility for the competition?
Great! The league has benefited from contributions like the [command generator](https://github.com/kyordhel/GPSRCmdGen) and [VizBox](https://github.com/RoboCupAtHome/vizbox). If you have a specific idea for a new tool for teams or for refereeing, please [open a new GitHub issue](https://github.com/RoboCupAtHome/RuleBook/issues) describing your proposal.
### Do you want to help run the competition?
The RoboCup @Home Organizing Committee is always looking for volunteers to help run the event. Please contact the committee.
## Contribution Naming Conventions
### Files
TeX files describing test files are named using a *Letter-case separated words* convention in which the first letter of each word is capital. When using acronyms, the next word can be separated with an underscore. All other file names are specified in lowercase (with the exception of acronyms), and separating words with underscores.
The following practices must also be followed:
- Spaces in filenames must be avoided.
- The format for date designations is YYYYMMDD (to ensure chronological order over years).
- File names should be as short as possible (max 25 characters + extension).
- Special characters such as ~ ! @ # $ % ^ & * ( ) ` ; < > ? , [ ] { } ' " and | should be avoided.
- When using a sequential numbering system, three leading zeros are added for clarity.
### Branches
Branch names use always small caps (except by acronyms) with words separated with the underscore character.
The name of a branch strongly depends on the introduced change type and the function of the change. Branch names must always be short and descriptive, avoiding sequences and special characters. The following branch types are set:
- **```year/```** Used for tests mainly, and other changes targeting an specific year.
- ```2020/taking_the_bus```
- ```2025/IKEA_assembly```
- **```feature/```** Used to introduce new features and general rules in the rulebook, as well as changes that affect many tests, or modify the scoring.
- ```feature/description_of_new_stuff```
- ```feature/eegpsr_example_scoresheet```
- **```fix/```** Used to address or solve an specific issue
- ```fix/#185_remove_exact_numbers```
- ```fix/#500```
**Important Remark:** Branches shall never be merged into ```master```, nor ```master``` shall merge into any branches. Pull Requests are mandatory for merging, and rebase for updating. Also, squash commits are not permitted.
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
================================================
FILE: .github/pull_request_template.md
================================================
** Note: Your contribution is expected to meet the conventions and policies described in the [contribution guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Contributing) **
## Description
Closes issue #
Changes proposed in this pull request:
-
-
-
## Other comments
If this request is marked as a draft, please describe your plans or any specific feedback you would like
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: LaTeX linter (chktex)
uses: j2kun/chktex-action@v2.0.0
# Provide this output for context, but don't fail builds
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build:
name: build-${{ matrix.document }}
runs-on: ubuntu-latest
container: texlive/texlive:TL2022-historic
needs: [lint]
strategy:
fail-fast: false
matrix:
document: [rulebook, scoresheets]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Take ownership of the checkout directory (Git CVE-2022-24765)
run: chown --recursive --reference=/ .
- name: Allow for file ownership conflicts with Docker and GitHub Actions
run: git config --global --add safe.directory '*'
- name: LaTeX compilation
run:
TERM=xterm make ${{ matrix.document }}
- name: Upload build result
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
with:
name: ${{ matrix.document }}
path: .build/${{ matrix.document }}.pdf
archive: false
deploy-pdfs:
name: deploy-pdfs
runs-on: ubuntu-latest
permissions:
contents: write
needs: [build]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
ref: gh-pages
- name: Download rulebook
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
with:
name: rulebook.pdf
path: ${{ runner.temp }}/rulebook
- name: Download scoresheets
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
with:
name: scoresheets.pdf
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 rulebook
mkdir -p scoresheets
FILENAME=${GITHUB_REF_NAME}
# Strip out any extra slashes in the rest
FILENAME=${FILENAME//\//\_}.pdf
mv ${ARTIFACTS_PATH}/rulebook/rulebook.pdf rulebook/${FILENAME}
mv ${ARTIFACTS_PATH}/scoresheets/scoresheets.pdf scoresheets/${FILENAME}
- name: Commit and push to GitHub Pages
if: github.ref_name == github.event.repository.default_branch
uses: stefanzweifel/git-auto-commit-action@v5
with:
branch: gh-pages
commit_author: "Continuous Deployment <git@robocupathome.org>"
commit_message: "[github actions] deploy"
commit_user_name: "Continuous Deployment"
commit_user_email: "git@robocupathome.org"
file_pattern: "./*.pdf"
repository: ${{ github.workspace }}
skip_checkout: true
skip_fetch: true
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
push:
tags:
- '*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: LaTeX linter (chktex)
uses: j2kun/chktex-action@v2.0.0
# Provide this output for context, but don't fail builds
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build:
needs: [lint]
runs-on: ubuntu-latest
container: texlive/texlive:TL2022-historic
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Take ownership of the checkout directory (Git CVE-2022-24765)
run: chown --recursive --reference=/ .
- name: Allow for file ownership conflicts with Docker and GitHub Actions
run: git config --global --add safe.directory '*'
- 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
with:
draft: false
prerelease: false
generate_release_notes: false
token: ${{ secrets.GITHUB_TOKEN }}
files: |
.build/rulebook.pdf
.build/scoresheets.pdf
================================================
FILE: .gitignore
================================================
.build
.vscode
*.aux
*.glo
*.idx
*.log
*.toc
*.ist
*.acn
*.acr
*.alg
*.bbl
*.blg
*.dvi
*.glg
*.gls
*.ilg
*.ind
*.lof
*.lot
*.maf
*.mtc
*.mtc1
*.out
*.synctex.gz
*.and
*.adx
*.tex~
*.pdf
.temp_*
*.backup
*.rubbercache
================================================
FILE: CHANGELOG.md
================================================
# Changelog
[Current Draft]: https://github.com/RoboCupAtHome/RuleBook/compare/2025.1..HEAD
[2026.1]: https://github.com/RoboCupAtHome/RuleBook/compare/2025.1..2026.1
[2025.1]: https://github.com/RoboCupAtHome/RuleBook/compare/2024.2..2025.1
[2024.2]: https://github.com/RoboCupAtHome/RuleBook/compare/2024.1..2024.2
[2024.1]: https://github.com/RoboCupAtHome/RuleBook/compare/2023.2..2024.1
[2023.2]: https://github.com/RoboCupAtHome/RuleBook/compare/2023.1..2023.2
[2023.1]: https://github.com/RoboCupAtHome/RuleBook/compare/2019.v1..2023.1
All notable changes to this project will be documented in this file.
## Rulebook [Current Draft]
* [#1046](https://github.com/RoboCupAtHome/RuleBook/pull/1046) Reduce overall scores in **Restaurant**
* Add first pick/place bonus to encourage manipulation
* [#1038](https://github.com/RoboCupAtHome/RuleBook/pull/1038) Adjustments for **Finals**
* additional task: move laundry basket near the washing machine
* reduce points for closing
* [#1037](https://github.com/RoboCupAtHome/RuleBook/pull/1037) Add environment change penalty to **Doing Laundry**
* [#1035](https://github.com/RoboCupAtHome/RuleBook/pull/1035)[#1036](https://github.com/RoboCupAtHome/RuleBook/pull/1036)[#1042](https://github.com/RoboCupAtHome/RuleBook/pull/1042)[#1043](https://github.com/RoboCupAtHome/RuleBook/pull/1043)[#1044](https://github.com/RoboCupAtHome/RuleBook/pull/1044)[#1045](https://github.com/RoboCupAtHome/RuleBook/pull/1045) Various rule improvements and clarifications
* [#1034](https://github.com/RoboCupAtHome/RuleBook/pull/1034) Robot interactions are now always scored by the person interacting with the robot.
* e.g. it is often hard for the referees to understand if the robot says the correct information or held eye contact
* [#1033](https://github.com/RoboCupAtHome/RuleBook/pull/1033) Time limit for **Human Robot Interaction Challenge** is now always 7 minutes regardless of door opening.
* [#1025](https://github.com/RoboCupAtHome/RuleBook/pull/1025) Updates to **Pick and Place Challenge**
* Added side table with two common items (worldwide available set). Robots may choose to pick these instead of the objects on the dining table and store them in the cabinet with a small penalty (simpler and known in advance).
* Added human assistance penalty for requesting environment changes (move chairs or decorations). Penalty is per item moved (per chair or per set of decorations)
* [#1023](https://github.com/RoboCupAtHome/RuleBook/pull/1023) **Restaurant** order is now capped at 2 items. Decreased penalties where robot asked for customer location info (not guided).
* [#1021](https://github.com/RoboCupAtHome/RuleBook/pull/1021) **Doing Laundry** improvements
* changes in **Doing Laundry** procedure and scoring
* No points for simple pick and place: now onetime score for picking a single clothing piece from basket
* Penalties for dropping clothing
* Higher score for first folded item
* Specific HumanAssistance penalty for arranging or flattening the clothing before folding.
* [#1021](https://github.com/RoboCupAtHome/RuleBook/pull/1021) Improve scoresheets
* remove bonus goal rulings, most objectives can be obtained at any time, unless task specific remarks.
* [#1022](https://github.com/RoboCupAtHome/RuleBook/pull/1022) Add missing **Restaurant** restart rulings.
* [#1024](https://github.com/RoboCupAtHome/RuleBook/pull/1024) Remove cabinet door closing from finals
* Doors no longer requirement for LOC. Will be added as additional goal if available.
* [#1017](https://github.com/RoboCupAtHome/RuleBook/pull/1017) Added common objects always used during competition
* e.g. red bull can, pringles can, rubiks cube and colgate toothpaste box were selected due to their availability worldwide.
* Explicit mention allows teams to acquire and prepare for these objects without buying the full ycb dataset
* [#1018](https://github.com/RoboCupAtHome/RuleBook/pull/1018) Updated start signal rulings.
* The manual start signal is now explicitly used during inspection
* [#1019](https://github.com/RoboCupAtHome/RuleBook/pull/1019) Updated number of teams qualified for Finals
* With the removal of the sub-leagues more teams fit in the schedule of the finals
* Added clarification that **Restaurant** is only run once
* Added **Restaurant** may require registration/qualification
* [#1010](https://github.com/RoboCupAtHome/RuleBook/pull/1010) Add handover rulings to **Human Robot Interaction Challenge**
* [#1008](https://github.com/RoboCupAtHome/RuleBook/pull/1008) Fix inconsistencies in scenario description and league requirements
* [#1012](https://github.com/RoboCupAtHome/RuleBook/pull/1012) Improve *following the host* description
* [#1007](https://github.com/RoboCupAtHome/RuleBook/pull/1007) Fix wrong 'not attending penalty' in penalty section
* [#1009](https://github.com/RoboCupAtHome/RuleBook/pull/1009) Removed some SPL mentions
## Rulebook [2026.1] - 2025-12-01
* [#998](https://github.com/RoboCupAtHome/RuleBook/pull/998) Update **GPSR**
* Add rephrasing by llm and corresponding rulings.
* Removed non-expert operator as rephrasing is now included.
* [#999](https://github.com/RoboCupAtHome/RuleBook/pull/999) Update **Final**
* Just add rulings - **Final** still uses old EGPSR Task Rulings
* [#994](https://github.com/RoboCupAtHome/RuleBook/pull/994): New Task **Pick and Place Challenge**
* Combines aspects of **Storing Groceries**, **Serve Breakfast** and **Clean the Table**
* Robot is free to choose what parts to solve.
* [#995](https://github.com/RoboCupAtHome/RuleBook/pull/995): Rename **Receptionist** → **Human Robot Interaction Challenge**
* Removed predetermined list of names and drinks; now any English name can be chosen.
* Removed drink location requirement, as object recognition is not the task focus.
* Added a short following (“help me carry”) procedure at the end.
* Added doorbell/knock recognition.
* [#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)
* [#990](https://github.com/RoboCupAtHome/RuleBook/pull/990): New Restart Rule
* A restart no longer requires requeuing. Instead the team immediately continues with the second attempt.
* Test time continues running, and the team must resume the test within 1 minute.
* All points scored before the restart are voided.
* [#990](https://github.com/RoboCupAtHome/RuleBook/pull/990): Remove Stage system
* The stage system was removed to simplify the competition format.
* Previously, only a subset of teams advanced to later stages, which limited participation and reduced the number of runs per team. In the new format, all teams compete in the same set of tasks across multiple days, ensuring more consistent evaluation.
* The new structure also allows teams to demonstrate progress and improve their performance over the course of the competition.
* The number of tasks was reduced to four (repeated each day) plus the Restaurant test.
* Removed **EGPSR**
* Removed **Help me Carry**
* A goal is to reduce unnecessary repetition of skills across tasks, making each task more meaningful and distinct.
* [#987](https://github.com/RoboCupAtHome/RuleBook/pull/987): Merge both leagues - Remove DSPL.
* A single, unified RoboCup@Home league takes effect immediately.
* [#969](https://github.com/RoboCupAtHome/RuleBook/pull/969): Remove optional Tray in **Clean the Table**
## Rulebook [2025.1] - 2025-04-14
* [#946](https://github.com/RoboCupAtHome/RuleBook/pull/946), [#947](https://github.com/RoboCupAtHome/RuleBook/pull/947): Various small scoring changes.
* **Receptionist**: : Test time now starts only after the first person enters the arena or two minutes after the start signal, allowing up to two extra minutes to open the door for the first guest.
* [#943](https://github.com/RoboCupAtHome/RuleBook/pull/943): New HRI task **Give Me A Hand** replacing Stickler. See the pull request for full details.
* [#938](https://github.com/RoboCupAtHome/RuleBook/pull/938): Expanded problem set for **EGPSR**.
* Increased the number of generated problems to boost audience engagement.
* Repeatedly solving the same category now awards fewer points.
* Setup generator moved to [RoboCupAtHome/CommandGenerator](https://github.com/RoboCupAtHome/CommandGenerator).
* [#928](https://github.com/RoboCupAtHome/RuleBook/pull/928): New **Finals** format introduced. Check out the pull request for the rationale.
* Finals are now task-like instead of a presentation.
* Based on **EGPSR**, with the addition of opening and closing doors (arena, cabinet, and dishwasher).
* [#921](https://github.com/RoboCupAtHome/RuleBook/pull/921): New Robot restart procedure during challenges.
* Teams may request one restart per attempt, subject to a 30-second penalty.
* Restart requires the team to leave the arena, requeue, and restart within their remaining time.
* [#935](https://github.com/RoboCupAtHome/RuleBook/pull/935): Add additional tasks to storing groceries.
* Use of both cabinet doors required.
* Add refilling storage containers (pouring).
* Add grasping from the shopping bag.
* Increase time limit to 7 minutes.
* [#936](https://github.com/RoboCupAtHome/RuleBook/pull/936): Extend **Clean the Table**.
* Put drink items into trash.
* Wipe the table under drinks.
* Miscellaneous scoring changes.
* [#933](https://github.com/RoboCupAtHome/RuleBook/pull/933): Remove **Serve Breakfast** task to optimize Stage 1 schedule.
* [#920](https://github.com/RoboCupAtHome/RuleBook/pull/920): DSPL: Mounted microphones now permitted on the HSR robot.
* [#922](https://github.com/RoboCupAtHome/RuleBook/pull/922): Removed bonus for perceived social intelligence, as the evaluation was impractical at RoboCup.
* [#917](https://github.com/RoboCupAtHome/RuleBook/pull/917): Reverted the split between Rulebook and Organization document.
* [#887](https://github.com/RoboCupAtHome/RuleBook/pull/887): Discontinued the **Social Standard Platform League**.
* Low participation levels.
* Former SSPL teams may now join the Open Platform League (OPL) and modify their robots.
* [#903](https://github.com/RoboCupAtHome/RuleBook/pull/903): Rename **Carry My Luggage** to **Help Me Carry**.
* [#908](https://github.com/RoboCupAtHome/RuleBook/pull/908): Remove the possibility of doing other tasks during the **GPSR** slot.
## Rulebook [2024.2] - 2024-05-03
Updated release based on German Open feedback.
* [#862](https://github.com/RoboCupAtHome/RuleBook/pull/862): Storing Groceries
* [#863](https://github.com/RoboCupAtHome/RuleBook/pull/863): Receptionist
* [#864](https://github.com/RoboCupAtHome/RuleBook/pull/864): Carry my Luggage
* [#865](https://github.com/RoboCupAtHome/RuleBook/pull/865): GPSR
* [#866](https://github.com/RoboCupAtHome/RuleBook/pull/866): Restaurant
* [#867](https://github.com/RoboCupAtHome/RuleBook/pull/867): Stickler for the Rules
* [#868](https://github.com/RoboCupAtHome/RuleBook/pull/868): EGPSR
* [#869](https://github.com/RoboCupAtHome/RuleBook/pull/869): Serve Breakfast
* [#870](https://github.com/RoboCupAtHome/RuleBook/pull/870): Scoresheet cleanup
## Rulebook [2024.1] - 2024-03-05
* split document into Rulebook and Organization document [(PR)](https://github.com/RoboCupAtHome/RuleBook/pull/831)
* RoboCup@Home Rulebook: Rules and Regulations for the competition.
* RoboCup@Home Organization document: Rules and Regulations on the organization of the competition
* [New Command Generator for GPSR](https://github.com/johaq/CommandGenerator/tree/master)
* updated Task: EGPSR [(PR)](https://github.com/RoboCupAtHome/RuleBook/pull/844)
* Robot has to restore the default arena state and requests
* add a social survey in restaurant and receptionist tasks [(PR)](https://github.com/RoboCupAtHome/RuleBook/pull/839)
* requesting Deus Ex Machina assistance now requires the robot to show its perception [(PR)](https://github.com/RoboCupAtHome/RuleBook/pull/838)
* small scoring items for attempting tasks, and more consistent scoring between tests [(PR)](https://github.com/RoboCupAtHome/RuleBook/pull/843)
================================================
FILE: LICENSE
================================================
The content of this project itself is licensed under the Creative Commons
Attribution Share Alike 4.0 International license, and the underlying source code
used to format and display that content is licensed under the GPL v2 license.
================================================
FILE: LICENSE.CC-BY-SA-4.0
================================================
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
================================================
FILE: LICENSE.GPL-2.0
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
================================================
FILE: Makefile
================================================
.SUFFIXES:
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
BUILD_DIR:=$(ROOT_DIR)/.build
## TOOLS
SILENT = @
MSG = echo
HASRUBBER:=$(shell which rubber)
## COLORS
RESET = tput sgr0
YELLOW = tput setaf 3; tput bold
TEXFILES=$(shell find -name "*.tex")
# Use all documents/*.tex files
SOURCES=$(wildcard documents/*.tex)
_S0 := $(subst .tex,,$(SOURCES))
TEXRULES := $(subst documents/,, $(_S0))
#################################################
# Rules
#################################################
.PHONY: all clean ${TEXRULES} lint
all: $(TEXRULES)
clean:
rm -rf .build
.build:
mkdir -p .build
# Same as github lint action
lint:
$(SILENT) ${YELLOW}; $(MSG) "Running chktex"; $(RESET)
$(SILENT) chktex ${TEXFILES}
#################################################
# Generate rules for sources
#################################################
define latex_rules
main_file := $(1)
## documents/foo.tex -> foo
_SCARP0 := $$(subst .tex,,$$(main_file))
RULENAME := $$(subst documents/,, $$(_SCARP0))
## Generates rules for pdfs
$$(RULENAME): $$(main_file) | .build
$(SILENT) ${YELLOW}; $(MSG) "Building $$<"; $(RESET)
ifdef HASRUBBER
$(SILENT) rubber --unsafe --pdf --force $$<
else
$(SILENT) latexmk -Werror -shell-escape -silent -pdf -interaction=nonstopmode -outdir=$${BUILD_DIR} $$<
endif
## Generate Summary Rule
$$(RULENAME)_summary: | $$(RULENAME)
$(SILENT) tail -n1 .build/$$(|).log
endef
$(foreach source, $(SOURCES), $(eval $(call latex_rules, $(source))))
================================================
FILE: README.md
================================================
RuleBook for RoboCup @Home 2026
===============================
[](https://github.com/RoboCupAtHome/RuleBook/actions/workflows/ci.yml)
### PDF Downloads
[Rulebook](https://robocupathome.github.io/RuleBook/rulebook/master.pdf)
[Score sheets](https://robocupathome.github.io/RuleBook/scoresheets/master.pdf)
The current version for 2026 is **final**; only minor (language) updates and clarifications may be made from now on.
[Changelog](CHANGELOG.md)
RoboCup@Home teams and team members are welcome to post GitHub issues for clarifications, questions etc.
Improvements are also welcome in the form of pull requests (see [guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines)).
### FAQ
See the Frequently Asked Questions [here](https://github.com/RoboCupAtHome/RuleBook/wiki/FAQ:-Frequently-Asked-Questions).
Or ask us via Telegram: [https://t.me/RoboCupAtHome](https://t.me/RoboCupAtHome)
### Question, issues, and contribution Guidelines
- When asking questions [please follow these Guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Questions).
- Guidelines for setting up an issue are [here](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Issues). Open an issue for:
- Typos, misspellings, and broken references.
- The rules are unclear or poorly specified.
- One rule contradicts another.
- The RuleBook contains outdated information
- Scoresheets are cryptic of hard to read.
- Compilation and build errors.
- To contribute directly with the rulebook (Pull Requests), please read the conventions in the [Contribution Guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Contributing) and in the [Workflow Guidelines](https://github.com/RoboCupAtHome/RuleBook/wiki/Guidelines:-Workflow)
### RoboCup
RoboCup
is an international joint project to promote AI, robotics, and related fields. It is an attempt to foster AI and intelligent robotics research by providing standard problems where a wide range of technologies can be integrated and examined. More information can be found at [http://www.robocup.org/](http://www.robocup.org/).
### RoboCup@Home
The RoboCup@Home league aims to develop service and assistive robot technology with high relevance for future personal domestic applications. It is the largest international annual compe- tition for autonomous service robots and is part of the RoboCup initiative. A set of benchmark tests is used to evaluate the robots abilities and performance in a realistic non-standardized home environment setting. Focus lies on the following domains but is not limited to: Human-Robot- Interaction and Cooperation, Navigation and Mapping in dynamic environments, Computer Vision and Object Recognition under natural light conditions, Object Manipulation, Adaptive Behaviors, Behavior Integration, Ambient Intelligence, Standardization and System Integration. It is collocated with the RoboCup symposium.
### Contributing
The RoboCup @Home Organizing Committee is always looking for volunteers to assist in the events and willing to help to maintain the sites. Volunteers can help in tasks such as organizing and categorizing publications, team videos, memories, scores, press, and writing examples and extended rule explanations. Other projects such as developing utilities for the competition and tools for referees are also welcome. If you would like to collaborate, write to any of the members of the Organizing Committee.
Contributions and improvements to the rulebook are always welcome in the form of pull requests.
### Building
The easiest way is to utilize the `docker.io/texlive/texlive:TL2022-historic` image to build everything.
For convenience, you should execute `build.sh` to make the PDFs with a container runtime. (This requires either `docker` or `podman` to be installed)
### Recorded data
Data is recorded from the robots during the competition. It is available through the following links:
**European Open 2016**
- [All challenges](https://mega.nz/#!FhMnAYQS!P22mTNvfDjU2GHf02G3omgmS715dQSURFTLuUfkdxic)
**Leipzig 2016**
- [Finals](https://mega.nz/#!Y4czyLST!2TotbyL53DA2iIG6oZ9QkcEf94ktpm2_btJltj_J2dE)
- [Following & Guding](https://mega.nz/#!dwU1XRQB!czz2BtGLM5-ewaviBdtUIl62kECn3dJXljk50KB_7t4)
- [GPSR](https://mega.nz/#!UlFk3ZCQ!ooe0V2yksQ-3X35uIk8d-on8Plzh-CGbwDPoyvVa43Q)
- [Manipulation & Object Recognition](https://mega.nz/#!5k1FxAzY!DgtpcSjdOQmfQUVRm5iYoOuZ8r7h7G2GXMtjORsNjME)
- [Navigation](https://mega.nz/#!As9XiIzD!wYAWcquTKl6jBf2IifpnliRNQ34Ddhwe0X-pyEhebeE)
- [Open Challenge](https://mega.nz/#!R4EVwKKQ!2RgqoO2Fm8ba87yFcZKgIpI6mwHcaAvyo7_FR9_KNfE)
- [Restaurant](https://mega.nz/#!lpFjQTAS!wOO0ieAedr-JDrh166dOOqilMWBGsA3_Ij5t4an1mdI)
- [Speech Recognition](https://mega.nz/#!ts02iYRQ!L3McBFzodJG0UTmauCj2crSapmAr8GWwtB4FLGzQlEs)
### More information
- **@Home Website**: [http://athome.robocup.org/](http://athome.robocup.org/)
- @Home Website (backup): [http://robocupathome.org/](http://robocupathome.org/)
- **Telegram group** for Q&A and rules discussion: [https://t.me/RoboCupAtHome](https://t.me/RoboCupAtHome)
- Whatsapp group: Please join the Telegram group
- RoboCup 2019 Website [https://2019.robocup.org](https://2019.robocup.org)
- [General mailing list](http://lists.robocup.org/cgi-bin/mailman/listinfo/robocup-athome)
- [Youtube channel](https://www.youtube.com/channel/UChkdCpT0xrFMMt-_N8wSVew/)
- [Facebook Page](https://www.facebook.com/robocupathome/)
- [RoboCup @Home Wiki](https://github.com/RoboCupAtHome/AtHomeCommunityWiki/wiki)
- [Forum](https://athome.forum.robocup.org/)
- [Gitter.im chat](https://gitter.im/RoboCupAtHome/Lobby)
================================================
FILE: build.sh
================================================
#!/bin/sh
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 rulebook scoresheets
else
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: citation.bib
================================================
@misc{rulebook_2026,
author = {Hart, Justin and Moriarty, Alexander and Pasternak, Katarzyna
and Kummert, Johannes and Leonetti, Matteo and Contreras, Luis
and Ruegemer, Leroy and Mitzutani, Akinobu and Ribeiro, Tiago
and Golding, Adam and Kang, Taewoong and Pimentel, Fagner},
title = {RoboCup@Home 2026: Rules and Regulations},
year = {2026},
howpublished = {\url{https://github.com/RoboCupAtHome/RuleBook/releases/tag/2026.1}},
}
================================================
FILE: documents/organization.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: organization.tex 2023-10-21 PetervDooren $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: introduction to RoboCupAtHome
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt, twoside, openright, a4paper, chapterprefix]{scrbook}
\usepackage[inner=2.5cm, outer=2.5cm, top=4cm, bottom=4cm]{geometry}
%%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/packages.tex}
\input{./setup/config.tex}
\input{./pages/organization/documentinfo.tex}
% footertext
\newcommand{\footline}{RoboCup@Home Organization document / \rulebookVersion}
\input{./setup/styling.tex}
%%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/active_version.tex}
\graphicspath{{\YEAR/}{./images/}}
\input{./setup/macros.tex}
\input{./setup/abbrevix.tex}
\makeindex % generate index
\makeabbex % generate abbreviations
%\newcommand{\sectionbreak}{\clearpage}
%\newcommand{\subsectionbreak}{\clearpage}
\begin{document}
\input{pages/organization/titlepage}
\setcounter{page}{0}
\pagenumbering{roman}
\pagestyle{empty}
\input{pages/organization/about}
\input{pages/acknowledgments}
\clearpage
\pagestyle{plain}
\tableofcontents
\clearpage
\setcounter{page}{1}
\pagenumbering{arabic}
\input{pages/organization/Introduction}
\input{pages/organization/GeneralRules}
\input{pages/organization/Setup}
\printabx
\printidx
\end{document}
================================================
FILE: documents/roadmap.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: Rulebook.tex 2014-12-12 balkce $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: introduction to RoboCupAtHome
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt, twoside, openright, a4paper, chapterprefix]{scrbook}
\usepackage[inner=2.5cm, outer=2.5cm, top=4cm, bottom=4cm]{geometry}
%%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/packages.tex}
\input{./setup/config.tex}
\input{./pages/roadmap/documentinfo.tex}
% footertext
\newcommand{\footline}{RoboCup@Home Roadmap / \rulebookVersion}
\input{./setup/styling.tex}
%%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/active_version.tex}
\graphicspath{{\YEAR/}{./images/}}
\input{./setup/macros.tex}
\input{./setup/abbrevix.tex}
\makeindex % generate index
\makeabbex % generate abbreviations
%\newcommand{\sectionbreak}{\clearpage}
%\newcommand{\subsectionbreak}{\clearpage}
\begin{document}
\input{./pages/roadmap/titlepage}
\setcounter{page}{0}
\pagenumbering{roman}
\pagestyle{empty}
\input{./pages/roadmap/acknowledgments}
\clearpage
\pagestyle{plain}
\tableofcontents
\clearpage
\setcounter{page}{1}
\pagenumbering{arabic}
\input{pages/roadmap/CompetitionConcepts}
\printabx
\printidx
\end{document}
================================================
FILE: documents/rulebook.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: Rulebook.tex 2014-12-12 balkce $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: introduction to RoboCupAtHome
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt, twoside, openright, a4paper, chapterprefix]{scrbook}
\usepackage[inner=2.5cm, outer=2.5cm, top=4cm, bottom=4cm]{geometry}
%%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/packages.tex}
\input{./setup/config.tex}
\input{./pages/rulebook/documentinfo.tex}
% footertext
\newcommand{\footline}{RoboCup@Home Rulebook / \rulebookVersion}
\input{./setup/styling.tex}
%%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{./setup/active_version.tex}
\graphicspath{{\YEAR/}{./images/}}
\input{./setup/macros.tex}
\input{./setup/abbrevix.tex}
\makeindex{} % generate index
\makeabbex{} % generate abbreviations
%\newcommand{\sectionbreak}{\clearpage}
%\newcommand{\subsectionbreak}{\clearpage}
\begin{document}
\input{./pages/rulebook/titlepage}
\setcounter{page}{0}
\pagenumbering{roman}
\pagestyle{empty}
\input{pages/rulebook/about}
\input{pages/acknowledgments}
\clearpage{}
\pagestyle{plain}
\tableofcontents{}
\clearpage{}
\setcounter{page}{1}
\pagenumbering{arabic}
\input{pages/rulebook/Introduction}
\input{pages/roadmap/CompetitionConcepts}
\input{pages/rulebook/GeneralRules}
\input{pages/organization/Setup}
%%% Tests
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Tests}\label{chap:tests}
\testtocentry{test:human-robot-interaction-challenge}
\testtocentry{test:pick-and-place-challenge}
\testtocentry{test:gpsr}
\testtocentry{test:doing-laundry}
\testtocentry{test:restaurant}
\testtocentry{test:final}
% Uncomment to get aesthetic improvement
\cleardoublepage{}
\input{tasks/HumanRobotInteractionChallenge}
\newpage{}
\input{tasks/PickAndPlaceChallenge}
\newpage{}
\input{tasks/GPSR}
\newpage{}
\input{tasks/DoingLaundry}
\newpage{}
\input{tasks/Restaurant}
\newpage{}
\input{tasks/Finals}
\input{pages/Appendices}
\printabx{}
\printidx{}
\end{document}
================================================
FILE: documents/scoresheets.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: scoresheets.tex 432 2013-05-21 15:33:27Z stueckler $
%% author(s): RoboCup@Home Technical Committee
%% description: RoboCup@Home Rulebook: Score Sheets
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt, a4paper]{book}
\usepackage{soul}
\input{./setup/packages_scoresheets.tex}
\usepackage{fullpage}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\setlength{\topmargin}{-1cm}
\setlength{\oddsidemargin}{-1cm}
\setlength{\evensidemargin}{-1cm}
\setlength{\textwidth}{18cm}
\setlength{\textheight}{26cm}
\input{./setup/active_version.tex}
\graphicspath{{\YEAR/}{./images/}}
\input{./setup/macros.tex} % defined in macros.tex
\input{./setup/abbrevix.tex} % for list of abbreviations
\hypersetup{
pdftitle = {RoboCup@Home Forms \& Score Sheets},
pdfsubject = {RoboCup@Home Forms \& Score Sheets},
pdfauthor = {RoboCup@Home Technical Committee},
pdfkeywords = {RoboCup, @Home, Rules, Competition},
pdfstartpage = {1}, %
colorlinks = true, % Farbige links
anchorcolor = black, % anchor-text (header)
linkcolor = black, % content,index,ref/pageref-label
urlcolor = blue, % URLs - http-Adressedate (auch TeX)
pdfcreator = {pdflatex},
pdfproducer = {latex-pdftex}
}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
%% L E A G U E S %%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
\loadTeamsListFile{}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
%% H E A D I N G S %%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
%% * Pagestyle
\fancypagestyle{plain}{
\fancyhf{}
\fancyhead{}
\fancyfoot[C]{\scriptsize \sffamily \footline{}}
\renewcommand{\headrulewidth}{0 pt}
}
\newcommand{\footline}{RoboCup@Home Forms \& Score Sheets / \rulebookVersion}
\begin{document}
\begin{titlepage}
\begin{center}
{
\includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg}
\hfill
\includegraphics[width=.25\textwidth]{images/logo_RoboCupAtHome.jpg}\\[1.23ex]
}
\vspace{2.7 cm}
\hrulefill\par
{%
\vspace*{.27cm}
\Huge{RoboCup@Home}\\[1.23ex]
\Large Forms \& Score Sheets\\[2ex]
}
\hrulefill\par
\vfill
Version: \YEAR{} \quad \svnRevision{}\\
Last Build Date: \today \quad Time: \the\time{}\\
\svnChangeData{}%\\
%\vfill
\end{center}
\end{titlepage}
\pagestyle{plain}
\input{pages/scoresheets/registration_form.tex}
\renewcommand{\shortScoresheet}{false}
% \TODO{Write new score sheets}
\renewcommand{\currentTest}{Poster Session}
\begin{scoresheet}
\input{scoresheets/PosterSession.tex}
\end{scoresheet}
%%% Tests %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% TESTS GO HERE %%%
\renewcommand{\currentTest}{General Purpose Service Robot}
\begin{scoresheet}
\input{scoresheets/GPSR}
\end{scoresheet}
\renewcommand{\currentTest}{Human Robot Interaction Challenge}
\begin{scoresheet}
\input{scoresheets/HumanRobotInteractionChallenge}
\end{scoresheet}
\renewcommand{\currentTest}{Pick and Place Challenge}
\begin{scoresheet}
\input{scoresheets/PickAndPlaceChallenge}
\end{scoresheet}
\renewcommand{\currentTest}{Restaurant}
\begin{scoresheet}
\input{scoresheets/Restaurant.tex}
\end{scoresheet}
\renewcommand{\currentTest}{Doing Laundry}
\begin{scoresheet}
\input{scoresheets/DoingLaundry.tex}
\end{scoresheet}
% %%% FINALS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Final
\renewcommand{\currentTest}{Final Demonstration}
\begin{scoresheet}
\input{scoresheets/Finals.tex}
\end{scoresheet}
\end{document}
\grid{}
================================================
FILE: images/standard_QR_codes.tex
================================================
\chapter{QR code examples}
\label{chap:qr-code-examples}
\begin{figure}[tbp]
\centering
\subfloat[\enquote{continue}]{\label{fig:qr_continue}\includegraphics[width=0.5\columnwidth]{continue.png}} ~
\subfloat[\enquote{yes}]{\label{fig:qr_yes}\includegraphics[width=0.5\columnwidth]{yes.png}} ~
\end{figure}
\begin{figure}[tbp]
\centering
\subfloat[\enquote{no}]{\label{fig:qr_no}\includegraphics[width=0.5\columnwidth]{no.png}} ~
\subfloat[\enquote{Go to the coach, find James and answer a question.}]{\label{fig:qr_command}\includegraphics[width=0.5\columnwidth]{go_to_the_coach_find_james_and_answer_a_question.png}}
\caption{Various QR codes}
\label{fig:qr_continue}
\end{figure}
================================================
FILE: latexmkrc
================================================
$pdf_previewer = "start okular";
add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
sub run_makeglossaries {
my ($base_name, $path) = fileparse( $_[0] ); #handle -outdir param by splitting path and file, ...
pushd $path; # ... cd-ing into folder first, then running makeglossaries ...
if ( $silent ) {
my $return = system "makeglossaries -q '$base_name'";
}
else {
my $return = system "makeglossaries '$base_name'";
};
popd; # ... and cd-ing back again
return $return;
}
add_cus_dep('glo', 'gls', 0, 'run_makeind');
add_cus_dep('acn', 'acr', 0, 'run_makeind');
sub run_makeind {
my ($base_name, $path) = fileparse( $_[0] ); #handle -outdir param by splitting path and file, ...
pushd $path; # ... cd-ing into folder first, then running makeglossaries ...
my $dest = $$Pdest;
if ( $silent ) {
my $return = system "makeindex -q -o \"$dest\" '$base_name'";
}
else {
my $return = system "makeindex -o \"$dest\" '$base_name'";
};
popd; # ... and cd-ing back again
return $return;
}
# Compile the nomenclature (package 'nomencl')
add_cus_dep( 'nlo', 'nls', 0, 'makenlo2nls' );
sub makenlo2nls {
my ($base_name, $path) = fileparse( $_[0] );
pushd $path;
my $dest = $$Pdest;
system( "makeindex -s nomencl.ist -o \"$dest\" \"$base_name\"" );
popd;
return $return;
}
================================================
FILE: pages/Appendices.tex
================================================
\begin{appendix}
\renewcommand*{\chapterformat}{\LARGE{Appendix \thechapter}}
\renewcommand{\chaptermark}[1]{\markboth{\appendixname \ \thechapter. \ #1}{}}
\input{pages/LeagueRequirements}
%\input{pages/example_skills}
%\newpage
%\input{pages/general_rules/arena_decorations.tex}
\end{appendix}
\renewcommand*{\chapterformat}{\LARGE{Chapter \thechapter}}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername \ \thechapter. \ #1}{}}
================================================
FILE: pages/LeagueRequirements.tex
================================================
\chapter{League Requirements}\label{chap:league-requirements}
\section{Competition Area}
\subsection{Arena Information}
\begin{itemize}
\item Number of Competition Arenas: 2
% \item An \textbf{additional testing arena} is recommended when the number of participating teams exceeds 18, to provide adequate practice and testing space for all teams.
\item Space per Arena: \qty{90}{\meter\squared}
\item Total Competition Area: \qty{180}{\meter\squared} (plus \qty{90}{\meter\squared} for Testing, if applicable)
\end{itemize}
\begin{figure}[H]
\centering
\subfloat[3D visualization]{
\includegraphics[width=0.48\textwidth]{images/league-arena_example3d.png}\label{fig:sample_arena_setup3d}}
\subfloat[2D plan]{
\includegraphics[width=0.48\textwidth]{images/league-arena_example.png}\label{fig:sample_arena_setup2d}}
\caption{Sample Arena Setup}
\label{fig:sample_arena_setup}
\end{figure}
\subsection{Detailed Setup}
The RoboCup@Home Arena is a realistic home setting (apartment-like) consisting of interconnected rooms. A typical configuration is shown in~\reffig{fig:sample_arena_setup}.
The \textbf{minimum arena configuration must include}:
\begin{itemize}
\item a living room,
\item a kitchen,
\item two additional rooms (e.g., bedroom, office, dining room, laundry room, foyer, childrens room).
\end{itemize}
There are usually two competition arenas and one additional Testing arena.
\paragraph{Dimensions}
Each arena should be around \qtyrange{90}{120}{\meter\squared}. A minimum of \qty{80}{\meter\squared} is acceptable if robot navigation space is ensured. Typical room sizes are approximately \qtyrange{20}{30}{\metre\squared}.
Robots typically have a base diameter of \qty{70}{\centi\metre}, with extensions for manipulators. The arena must accommodate safe navigation.
\paragraph{Walls}
Walls are fixed and \textbf{must not be altered} during the competition.
\begin{itemize}
\item Minimum height: \qty{60}{\centi\metre}.
\item Maximum height: not specified, but audience visibility \textbf{should be ensured}.
\end{itemize}
\paragraph{Doors}
Each arena \textbf{must include}:
\begin{itemize}
\item At least one entrance door (opening inward).
\item At least one exit door (opening outward).
\begin{itemize}
\item The two doors (entrance and exit) cannot be in the same room.
\end{itemize}
\item All doors with handles (not knobs), which can be closed.
\item Minimum width: \qty{90}{\centi\metre}, minimum height: \qty{200}{\centi\metre}.
\item Door thresholds must be smooth or very flat, without steps, lips, or obstacles that could impede robot movement.
\end{itemize}
If these requirements cannot be met, alternative solutions \textbf{must be discussed in advance} with the Technical Committee (TC).
\paragraph{Power Supply}
Each arena \textbf{must provide} at least one freely accessible power outlet.
The outlet may be located either in a corner of the arena or immediately outside the arena boundary.
\paragraph{Floor}
The floor must be even, with minor irregularities allowed (e.g., carpets, transitions). It should not be excessively slippery.
At least \qty{1}{\metre} of free space is required around the arena for robot staging.
\paragraph{Appearance}
Walls and floors should be neutral (monochromatic or lightly textured). Decorative elements such as posters or carpets are allowed.
\paragraph{Additional Setup}
A table must be provided outside each arena for external computing devices of the active team.
\paragraph{Optional Equipment}
The following equipment is recommended for each arena to improve the competition experience but is not mandatory:
\begin{itemize}
\item Microphones or audio systems for announcements
\item Additional display screens for spectators
\item Computers and cameras for live broadcasting the competition
\end{itemize}
% \subsection{Sponsor Requirements}
% These additional requirements are not mandated by the rules but based on request of sponsors.
% \paragraph{Stairs (for humanoid robots, if applicable)} If humanoid robots participate, an external set of stairs is required. The stairs should preferably have:
% \begin{itemize}
% \item 6--7 steps going up, a landing, and 6--7 steps going down.
% \item Minimum width: \qty{91}{\centi\metre}, tread depth: at least \qty{28}{\centi\metre}, riser height: \qtyrange{10}{18}{\centi\metre}(typically \qty{17.4}{\centi\metre}).
% \item Close risers for robot safety.
% \end{itemize}
% Alternatively, if venue stairs meet these requirements and are near the @Home area, they may be used.
\section{Environment Requirements}
The arena must be decorated to resemble a typical apartment.
\paragraph{Mandatory Items}
\begin{itemize}
\item Plants, mirrors, paintings, posters, picture frames, clocks, candles with holders, books.
\end{itemize}
\paragraph{Furnishings (minimum)}
\begin{itemize}
\item a couch,
\item a coffee or side table,
\item a small dining table with two chairs,
\item a trash bin,
\item a bookcase (or similar shelving) with a minimum shelf spacing of \qty{30}{\centi\metre}
\item a front-loading washing machine,
\item kitchen equipment including:
\begin{itemize}
\item a dishwasher,
\item a sink,
\item a pantry (tall cupboard with shelves).
\end{itemize}
\end{itemize}
\paragraph{Optional Furnishings (recommended)}
These are not required but improve realism and expand task possibilities:
\begin{itemize}
\item a bed,
\item a larger dining table with 4 chairs,
\item additional side/coffee tables,
\item refrigerator,
\item kitchen countertop,
\item microwave,
\item portable stove with heating plate and pan,
\item coat rack,
\item open cupboard or TV stand with television and remote,
\item cupboard,
\item chest of drawers with at least two drawers positioned \qtyrange{90}{120}{\centi\metre} from floor, with U-shaped handles
\item doors for the bookcase, pantry and similar furnishing with U-shaped handles
\end{itemize}
\section{Network Requirements}
\subsection{Wireless Communication}
Each arena must have a dedicated WLAN access point.
\begin{itemize}
\item Only the official arena WLAN may be used during testing and competition.
\item Only the currently active team may access the arena network.
\item Each team has its own VLAN with separate SSID and password.
\item Networks must be connected to both the Internet and a wired connection near the arena.
\item Unauthorized networks (e.g., hotspots) are strictly prohibited and may result in disqualification.
\end{itemize}
Note: Wireless reliability may fluctuate due to the fair environment.
\section{Best Practices}
\begin{itemize}
\item Avoid uneven surfaces.
\item Avoid cables running on the arena floor.
\item Locate team tables near the arenas.
\item Power outlets should provide sufficient capacity for robot operation; a recommendation is at least \textbf{1.8~kW} per team outlet.
\end{itemize}
\section{Additional Equipment}
These items are purchased by the \OC{} with the help of the \LOC{} on the first day of installation on site.
The following household objects must be available:
\begin{itemize}
\item Lightweight (\qty{0.5}{\kilogram}) household objects of various categories (drinks, snacks, food, fruits, toys, cleaning supplies),
\item Tableware: dish, bowl, cup/mug,
\item Cutlery: fork, knife, spoon,
\item Bags: lightweight with vertical handles,
\item Trays: for bimanual manipulation,
\item Laundry basket (plastic, lightweight, atleast \qty{50}{\centi\metre} wide, two-handed carry),
\item Pourable objects (e.g., cereal box),
\item Heavy objects: \qtyrange{1}{1.5}{\kilogram},
\item Tiny objects: \qty{5}{\centi\metre} (e.g., paper, teabag, pen),
\item Fragile objects: breakable (e.g., chocolate egg),q
\item Deformable objects: flexible (e.g., cloth),
\item 8--12 Pieces of Laundry (T-Shirts)
\item Garbage bag: tieable household garbage bag.
\end{itemize}
\section{League Organization Area}
\paragraph{Organizing Committee (OC) Requirements}
The OC area must include:
\begin{itemize}
\item \numrange{2}{3} tables with two chairs each,
\item Access to power outlets and LAN,
\item Access to a printer (or paperless setup if agreed),
\item A mobile display for announcements (poster stand or board as fallback).
\end{itemize}
\section{Teams Area}
\paragraph{Participation Area}
Each team must be provided with:
\begin{itemize}
\item One table per four members, with chairs,
\item At least one power outlet and one Ethernet connection,
\item \qty{2}{\metre\squared} for robot storage,
\item \qtyrange{1}{2}{\metre\squared} for robot handling,
\item \qtyrange{4}{5}{\metre\squared} near team area for robot maneuvering,
\item Adequate aisle space between tables for robot transport.
\begin{itemize}
\item One poster stand per participating team, suitable for displaying an \textbf{A0-size portrait} poster, \textbf{or}
\item sufficient free wall space to hang all team posters simultaneously.
\end{itemize}
\end{itemize}
\section{Other Notes}
\begin{itemize}
\item Changes compared to previous years:
\begin{itemize}
\item Sub-Leagues have been dissolved.
\item Require free outlet in Arena.
\item Add Optional Section.
\item Add requirements about posters.
\item A washing machine is now mandatory.
\item A bed is now optional.
\end{itemize}
\item Additional information: TBD.
\end{itemize}
================================================
FILE: pages/acknowledgments.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: acknowledgments.tex 404 2013-02-15 08:51:20Z sugiura $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Acknowledgments for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Acknowledgments}\label{sec:acknowledgments}
We would like to thank the members of the Technical Committee who put up the rules and the Organizing Committee who organizes the competition.
People that have been working on this rulebook as members of one of the league's committees (in alphabetical order):
\begin{center}
\begin{minipage}{0.8\textwidth}
\begin{multicols}{3}%
\footnotesize
\noindent%
Adam Golding\\
Akinobu Mizutani\\
Alex Mitrevski\\
Alexander Moriarty\\
Alina Hawkin\\
Caleb Rascon\\
Fagner Pimentel\\
Florian Lier\\
Hiroyuki Okada\\
Johannes Kummert\\
Juan Diego Pena Narvaez\\
Juan Jose Garcia\\
Justin Hart\\
Katarzyna Pasternak\\
Komei Sugiura\\
Leander von Seelstrang\\
Leroy Ruegemer\\
Loy van Beek\\
Luca Iocchi\\
Luca Lach\\
Luis Contreras\\
Matteo Leonetti\\
Mauricio Matamoros\\
Maxime St-Pierre\\
Peter van Dooren\\
Raphael Memmesheimer\\
Riccardo Polvara\\
Sammy Pfeiffer\\
Sebastian Meyer zu Borgsen\\
Sven Wachsmuth\\
Tatsuya Matsushima\\
Tijn van der Zant\\
Vanessa Hassouna\\
Yuma Yoshimoto\\
Yuqian Jiang
\end{multicols}
\end{minipage}
\end{center}
\noindent We would also like to thank all the people who contributed to the RoboCup@Home league with their feedback and comments.
People that have been working on this rulebook as members of the league (in alphabetical order):
\begin{center}
\begin{minipage}{0.8\textwidth}
\begin{multicols}{2}%
\footnotesize
\noindent%
Lars Janssen\\
Mark Finean\\
Matthijs van der Burgh\\
Syed Ali Raza\\
\end{multicols}
\end{minipage}
\end{center}
================================================
FILE: pages/example_skills.tex
================================================
\chapter{Example Skills}
\label{chap:example-skills}
The following section presents a list of \iterm{Example Skills} with an high degree of difficulty which can be exploited during the \textit{Open Demonstrations} (See~\refsec{sec:open-demonstrations}.
Other skills not on this list (yet) may be added as well. If you want to do so, please let the TC know via email (rc-home-tc@lists.robocup.org) for their inclusion on the RuleBook so all teams may also show this skill.
Please note that these examples are to illustrate the level of complexity and applicability that should be shown. For instance, \enquote{Handle a pan} is listed in the category of \textit{Complex manipulation}, but it is extensive to handling pans, pots, woks and any other cookware with handles.
\section{Skills by category}
\subsection{Complex manipulation}
\begin{itemize}
\item Cook a meal.
\item Manipulating panels/switches/knobs.
\item Use/open a fridge/stove/blender/microwave/washing machine.
\item Iron clothes.
\item Move a movable object (pole, chair, table).
\item Pouring liquids/powders.
\item Operate a water tap.
\item Handle a pan.
\end{itemize}
\subsection{Complex vision}
\begin{itemize}
\item Read text from a newspaper.
\item Handle glass/shiny-metallic objects.
\item Recognize moods, activities, age, gender.
% \item Recognize clothes, dressing-styles, fashionable people.
\item Label unknown objects.
\end{itemize}
\subsection{Complex navigation}
\begin{itemize}
\item Navigate in (very) crowded environments.
\item Navigate difficult terrain.
\item Climb stairs.
\item Push a wheelchair.
\end{itemize}
\subsection{Robot-Human Interaction}
\begin{itemize}
\item Collaborative robot-human manipulation.
\item Maintaining a conversation.
\item Learning actions on-the-fly.
\item Learning objects from humans e.g.~\enquote{This object is a ...} with an open vocabulary.
\item Following a human by grasping its hand.
\item Explain the robot abstract concepts (why people love sunny days).
\item Arrange unknown random people for a nice photo (no occlusions).
% \item ask the robot for the answer to the universe, meaning of life and everything else
\end{itemize}
\subsection{Complex action planning}
\begin{itemize}
\item Separate clothes for laundry (e.g.~by color)
\item Arrange a dish-washer.
\item Take a cup from the cupboard whose location has changed, is closed, or the path to it is blocked (e.g.~by a chair).
\item Light the way out with a lamp during a general power off.
\item Arrange unknown random people for a nice photo (no occlusions).
\item
\end{itemize}
\subsection{Mapping}
\begin{itemize}
\item Learn/create a (3D) map on the fly.
\item Semantically annotate a map on the fly
\item The robot enters a completely changed arena (furniture moved or even changed),
explores it and is told to go to e.g.~a table that is moved or added.
\end{itemize}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/general_rules/AudienceInteraction.tex
================================================
\section{Audience Interaction}\label{sec:rules:audience}
Only some tests require direct interaction with the audience. In order to make all tests more appealing (see \ref{sec:concepts:appeal}) and engaging, informing the audience about what is happening is important.
\subsection{Visualization}\label{sec:rules:audience:visualization}
All scenarios will have a screen, visible to the audience, that the teams can use to display, e.g., a robot's state, world model, and current plan. An example of such a visualization is the \VizBox{} by Loy van Beek (\url{https://github.com/LoyVanBeek/vizbox}). Using and enhancing the capabilities of the \VizBox{} or developing another open source visualization is greatly appreciated and considered a contribution to the \RoboCup\AtHome{} community.
================================================
FILE: pages/general_rules/ContinueRules.tex
================================================
\section[Human Assistance]{Bypassing Features With Human Help \\ \small Because the Show Must Go On}\label{rule:continue}
Robots are expected to autonomously complete all task objectives.
However, when progress is prevented by a malfunction or limitation, robots may request human assistance to allow the test to continue.
Human assistance is intended as a last resort. Robots should first attempt to skip or defer subtasks they cannot complete and continue with other achievable parts of the task. Assistance should only be requested when the robot cannot make further meaningful progress otherwise.
\subsection{Procedure}\label{rule:continue_procedure}
The robot must \textbf{clearly and explicitly indicate} that it is requesting human assistance.
If a task explicitly defines allowed forms of human assistance, the robot may request such assistance using simplified or task-specific instructions. However, vague or ambiguous requests may be interpreted incorrectly by the human assistant and are not guaranteed to be executed as intended.
Regardless of how the request is phrased, the robot is expected to confirm that the requested action has been carried out as intended (e.g.\ through dialogue, perception, or other appropriate feedback).
In the lead-up to RoboCup, assistance types not explicitly listed in the task description may be proposed for inclusion in the Rulebook via pull request or issue.
During RoboCup, any assistance not explicitly listed in the task description must be approved during the Team Leader Meeting prior to the test.
Such assistance must follow the procedure below:
\begin{enumerate}
\item \textbf{Request help:} The request must specify:
\begin{compactitem}
\item the type of assistance required, and
\item the intended outcome of the action.
\end{compactitem}
\item \textbf{Supervise:} The robot should actively supervise the assistance and be able to:
\begin{compactitem}
\item recognize whether the requested action has been performed, and
\item determine whether the outcome matches the intended request.
\end{compactitem}
\item \textbf{Verify:} The robot must not assume success without confirmation through perception or explicit interaction.
\end{enumerate}
Requests that do not comply with these requirements may be rejected or terminated by the referee without further notice.
% \subsection*{Example}\label{rule:continue_example}
% In the following example, a robot has to clean the table but is unable to grasp the spoon.
% \begin{itemize}[noitemsep]
% \small
% \item[\textcolor{gray}{R:}] \texttt{I am sorry, but the spoon is too small for me to take.\\
% Could you please help me with it?\\
% Please say "robot yes" or "robot no" to confirm.}
% \item[\textcolor{gray}{H:}] \textit{Robot, yes!}
% \item[\textcolor{gray}{R:}] \texttt{Thank you! Please follow my instructions.\\
% Please take the purple spoon from the table. It is on my left. \\(The robot also shows the result of the perception, e.g. by pointing at the spoon or showing a picture with a bounding box on the screen)}
% \item[\textcolor{gray}{H:}] (Referee takes purple spoon)
% \item[\textcolor{gray}{R:}] \texttt{I saw you took the spoon.\\
% Would you be so kind as to follow me to the kitchen?\\
% Please keep the spoon visible in front of you so I can track you. Thank you!}
% \item[\textcolor{gray}{R:}] \texttt{You can stop following me now.\\
% As you can see, the dishwasher is already open.\\
% Please place the spoon in the gray basket on the lower tray.}
% \item[\textcolor{gray}{R:}] \texttt{Lovely! Thanks for your help.\\
% I'll let you know if I need further assistance.}
% \end{itemize}
\subsection{Scoring}\label{rule:continue_scoring}
Any task element completed through human assistance is scored as zero points, unless explicitly stated otherwise in the task description.
\subsection{Referee Intervention}
The referee may stop the task at any time if:
\begin{itemize}
\item Assistance is requested that was not explicitly allowed in the description for the task.
\item Assistance is requested that was not announced during the Team Leader Meeting.
\item The robot is not making reasonable progress on the task despite being assisted.
\item From the second human assistance request onwards, repeated or excessive requests without demonstrating autonomous action may lead the referee to immediately stop the task.
\end{itemize}
\subsection*{Example}\label{rule:continue_example}
Example (non-exhaustive):
\begin{itemize}[noitemsep]
\item Requesting a human to hand over an object instead of picking it up, and later requesting the human to place the same object instead of placing it autonomously may result in immediate termination of the task.
\end{itemize}
\subsection{Bypassing Automatic Speech Recognition}\label{rule:asrcontinue}
Giving commands to the robot is essential in many tests.
When the robot is not able to receive spoken commands, teams are allowed to provide means to bypass ASR via an Alternative method for HRI.
Nonetheless, Automatic Speech Recognition is preferred.
The following rules apply in addition to the ones specified in section \refsec{rule:continue_scoring}
\begin{enumerate}
\item \textbf{ASR with Default Operator:} No score reduction.
The command is given by the human operator who must speak (not shout) loud and clear.
The \iterm{default operator} may repeat the command up to three times.
\item \textbf{ASR with Custom Operator:} A reduction of 10\% of the maximum attainable score is applied when a \iterm{custom operator} is requested.
The Team Leader chooses a person who gives the command \emph{exactly as instructed by the referee}.
\item \textbf{Gestures:} A reduction of 20\% of the maximum attainable score is applied when a gesture (or set of gestures) is used to instruct the robot.
\item \textbf{Alternative Natural Input Method:} A reduction of up to 20\% of the maximum attainable score is applied when a \iterm{alternative HRI interface}, is used to instruct the robot.
Natural alternative HRI interfaces must be previously approved by the TC during the Robot Inspection (see~\refsec{sec:robot_inspection}).
\end{enumerate}
\subsubsection{Alternative interfaces for HRI}\label{rule:asralternative}
Alternative methods and interfaces for HRI offer a way for a robot to start or complete a task.
Any reasonable method may be used, with the following criteria:
\begin{itemize}
\item \textbf{Intuitive to use and self-explanatory:} a manual should not be needed. Teams are not allowed to explain how to interface with the robot. %you immediately know how to use it after a quick glance
\item \textbf{Effortless use:} Must be as easy to use as uttering a command. %is as easy to use as it is uttering a command
\item \textbf{Is smart and preemptive:} The interface adapts to the user input, displaying only the options that make sense or that the robot can actually perform.
\end{itemize}
Preferably, the alternative HRI must be also adapted to the user.
Consider localization (with English as the default), but also potential users of service robots at their home.
For example: elderly people and people with physical disabilities.
%\textbf{\textsc{Award:}} The best alternative is awarded the Best Human-Robot Interface award (\refsec{award:hri}).
================================================
FILE: pages/general_rules/ExternalDevices.tex
================================================
\section{External devices}\label{rule:robot_external_devices}
Everything that a team uses during a test and is not part of the robot is considered an \ExternalDevice{}.
All \ExternalDevices{} must be authorized by the \TC{} during the \RobotInspection{} test (see~\refsec{sec:robot_inspection}).
The TC specifies whether an \ExternalDevice{} can be used freely or under referee supervision, and determines its impact on scoring.
The use of tools is allowed but a robot, for example, starting a test with a tool in hand counts as a different configuration under Rule \ref{rule:robots_number}. During \RobotInspection \ the referee will make sure that such a tool is securely attached to the robot.
A custom container as mentioned in \ref{sec:robot_inspection} is an exception to this rule.
\textbf{Note:} The use of wireless devices, such as hand microphones and headsets, is not allowed, with the exception of \ExternalComputing{} as specified below.
The competition organizers do not guarantee or take any responsibility for the availability or reliability of the network or the internet connection in the \Arena{}.
Teams can thus use \ExternalComputing{} resources at their own risk.
\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~\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.
\textbf{Note:} Robots must be able to operate safely even if \ExternalComputing{} is unavailable.
\ExternalComputing{} devices must be placed in the \ECRA{}, which is announced by the \TC{} during the \SetupDays{}.
A switch connected to the \Arena{} wireless network will be available to teams in the \ECRA{}.
During a \Testblock{}, at most two laptops and two people from different teams are allowed in the \ECRA{} simultaneously, one member each of the teams up next.
No peripherals, such as screens, mice, keyboards, and so forth, are allowed to be used.
During a \Testslot{}, everyone must stay at least \SI{1}{\meter} away from the \ECRA{}.
Interacting with anything in the \ECRA{} after the referee has given the start signal for a test will result in the test being stopped with a score of zero.
If a laptop is used as \ExternalComputing{}, a team can only place it in the \ECRA{} if their \Testslot{} is up next and must remove the device immediately after the test.
\subsection{On-line external computing}\label{rule:robot_external_computing_online}
Teams are allowed to use \ExternalComputing{} through the internet connection of the \ArenaNetwork{}; this includes cloud services or online APIs.
% This can neither be enforced nor validated.
%These must be announced to and approved by the \TC{} one month prior to the competition.
================================================
FILE: pages/general_rules/OpenChallenge.tex
================================================
\section{Open Challenge}\label{sec:rules:openchallenge}
On the first two competition days after the end of the regular test blocks, teams will have an opportunity to present an \OpenChallenge{} in which they demonstrate their novel research and approaches.
\subsection{Procedure}
\label{sec:rules:ocprocedure}
\begin{enumerate}
\item \textbf{Participation:} Teams have to announce whether they want to perform an \OpenChallenge{} to the \abb{OC} during the \SetupDays{}.
\item \textbf{Time:} Each team gets a 10 minute time slot for the \OpenChallenge; of these, 8 minutes are for presenting and 2 minutes are for questions by the audience.
\item \textbf{Arena Changes:} The team can rearrange the arena when their time slot starts, but all changes need to be reverted as soon as their time slot ends.
\item \textbf{Focus:} While the demonstrations are intended to share research insights, we still want to see robots performing; in particular, the \OpenChallenge{} should not be turned into a pure academic lecture.
\item \textbf{Leagues:} Ideally, the open challenges of all \AtHome{} leagues will be scheduled consecutively to allow all participants to view all demonstrations.
However, if more than 12 teams across the leagues register for the \OpenChallenge{}, each league will hold its \OpenChallenge{} concurrently to accommodate the increased number of participants.
\item \textbf{Award:} The \OpenChallenge{} does not contribute any points towards the official competition score, but participating teams are eligible to receive the \OCAward{} (see \ref{award:oc}).
\end{enumerate}
================================================
FILE: pages/general_rules/Organization.tex
================================================
\section{Organization of the Competition}\label{sec:procedure_during_competition}
\subsection{Competition Structure}\label{rule:structure}
The competition consists of a series of tasks, repeated on each competition day, designed to test specific robot capabilities, followed by a \FINAL{} as the final evaluation of the teams' overall performance.
\begin{enumerate}
\item \textbf{Robot Inspection:}
All teams must pass a \RobotInspection{} during the \SetupDays{} to be eligible for competition (see~\refsec{sec:robot_inspection}).
\item \textbf{Tasks:}
Teams compete in a set of tasks that evaluate different robot abilities.
Each task is repeated on multiple competition days, giving teams more than one opportunity to attempt it.
For ranking purposes, the \emph{best score} obtained in each task is considered.
\item \textbf{Restaurant Task:}
The Restaurant task is held only once during the competition, prior to the \FINAL{}.
It takes place outside the main arena in a location that is not disclosed in advance.
Preferably in a real restaurant, or otherwise in a restaurant-like environment.
Due to scheduling constraints, participation in the Restaurant task may require prior registration and may be limited based on the current classification (e.g., score or ranking achieved before the task).
\item \textbf{\FINAL:} The top teams, namely the ones with the highest overall score, advance to the \FINAL{}.
The final round features a single integrated task that tests all abilities evaluated throughout the competition.
The number of teams advancing to the \FINAL{} is determined by the total number of participating teams, as follows:
\begin{itemize}
\item Up to 9 teams: top 3 teams advance to the \FINAL{}
\item 9 to 14 teams: top 4 teams advance to the \FINAL{}
\item 15 to 20 teams: top 5 teams advance to the \FINAL{}
\item More than 20 teams: top 6 teams advance to the \FINAL{}
\end{itemize}
\end{enumerate}
In cases where there is no significant score difference between teams, the \TC{} may decide to include additional teams in the \FINAL{}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Schedule}\label{rule:schedule}
\begin{enumerate}
\item \textbf{Daily Task Runs:}
Each competition day features the same set of four tasks.
Two tasks are executed in parallel in different arenas.
Once a team completes its run in one arena, it proceeds to the other arena according to the schedule.
\item \textbf{Team Groups:}
Teams are assigned to fixed groups (e.g.\ A, B, C, D).
Each block has predetermined start times for the arenas and tasks.
This ensures an even distribution of teams across arenas and reduced waiting time.
\item \textbf{Test Slots:} Within each arena, teams are allocated a specific Test Slot that defines the maximum time available to complete the task.
Teams must be ready at their assigned block start time.
\item \textbf{Participation is default:} Teams must inform the \OC{} in advance if they are skipping a Test Block. If they do not provide such notification, they may be penalized for not attending (see~\refsec{rule:not_attending}).
\end{enumerate}
\begin{table}[h]
\centering\small
\newcommand{\wcell}[2]{%
\parbox[c]{2.5cm}{%
\vspace{#1}%
\centering%
#2%
\vspace{#1}%
}%
}
\newcommand{\cell}[1]{\wcell{0.2\baselineskip}{#1}}
% \newcommand{\mr}[1]{\multirow{2}{*}{#1}}
\begin{tabular}{
>{\centering\arraybackslash}m{2.5cm}|c|c|c|c
}
\multicolumn{1}{ c }{}
& \multicolumn{1}{c}{Day 1}
& \multicolumn{1}{c}{Day 2}
& \multicolumn{1}{c}{Day 3}
& \multicolumn{1}{c}{Day 4}
\\\hhline{~---~}
\cell{Block 1\\\footnotesize(9:00--11:00)}
& \cellcolor{color1}\cell{\diagbox{Task 1}{Task 2}}
& \cellcolor{color1}\cell{\diagbox{Task 1}{Task 2}}
& \cellcolor{color2}\cell{Restaurant}
&
\\\hhline{~----}
\multicolumn{1}{ c }{}
& \multicolumn{3}{ c }{\wcell{0.5\baselineskip}{\color{gray}\----Break---\-}}
& \multicolumn{1}{|c|}{\cellcolor{color3}\cell{\textbf{Finals}}}
\\\hhline{~----}
\cell{Block 2\\\footnotesize(13:00--15:00)}
& \cellcolor{color1}\cell{\diagbox{Task 3}{Task 4}}
& \cellcolor{color1}\cell{\diagbox{Task 3}{Task 4}}
& \cellcolor{color1}\cell{\diagbox{Task 1}{Task 2}}
&
\\\hhline{~---}
\multicolumn{1}{ c }{}
& \multicolumn{1}{ c }{\wcell{0.5\baselineskip}{}}
& \multicolumn{1}{ c }{\wcell{0.5\baselineskip}{\color{gray}\----Break---\-}}
& \multicolumn{1}{ c }{}
\\\hhline{~---}
\cell{Block 3\\\footnotesize(17:00--19:00)}
&
&
& \cellcolor{color1}\cell{\diagbox{Task 3}{Task 4}}
&
\\\hhline{~---}
\end{tabular}
\caption{Example schedule.
Each team has two Test Slots assigned in every Test Block.
}
\label{tbl:schedule}
\end{table}
\begin{table}[h]
\centering
\renewcommand{\arraystretch}{1.4}
\setlength{\tabcolsep}{10pt}
\begin{tabular}{c|c|c|}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{Arena 1} & \multicolumn{1}{c}{Arena 2} \\
\hhline{~--}
12:00 & \cellcolor{color4}Group A & \cellcolor{color2}Group C \\\hhline{~--}
12:30 & \cellcolor{color3}Group B & \cellcolor{color1}Group D \\\hhline{~--}
13:00 & \cellcolor{color2}Group C & \cellcolor{color4}Group A \\\hhline{~--}
13:30 & \cellcolor{color1}Group D & \cellcolor{color3}Group B \\\hhline{~--}
\end{tabular}
\caption{Example schedule for one block showing timeslots and group rotation between arenas.}\label{tab:schedule_example_times}
\end{table}
\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}
The scoring system evaluates robot performance based on task completion. Some objectives include optional modifiers and penalties. Modifiers apply only to the specific objective and cannot reduce its score below zero.
The scoring system has the following constraints:
\begin{enumerate}
\item \textbf{\FINAL:} The final score is normalized.
\item \textbf{Minimum score:} The minimum total score per test is \scoring{0 points}.
While teams generally cannot receive negative points, special penalties may result in a total score below zero. Specifically, penalties can be applied for not attending a test (see~\refsec{rule:not_attending}) or for extraordinary violations (see~\refsec{rule:extraordinary_penalties}).
\end{enumerate}
================================================
FILE: pages/general_rules/PenaltiesBonuses.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\penaltybig}{500~}
\newcommand{\penaltysmall}{250~}
\section{Special penalties and bonuses}\label{sec:special_awards}
\subsection{Penalty for not attending}\label{rule:not_attending}
\begin{enumerate}
\item \textbf{Automatic schedule:} All teams are automatically scheduled for all tests.
\item \textbf{Announcement:} If a team cannot participate in a test (for any reason), the team leader has to announce this to the \OC{} at least \timing{60 minutes} before the test slot begins.
\item \textbf{Penalties:} A team that is not present at the start position when their scheduled test begins is not allowed to participate in the test.
If the team has not announced its absence, it receives a penalty of \scoring{\notattendingpenalty{} points}.
\end{enumerate}
\subsection{Extraordinary penalties}\label{rule:extraordinary_penalties}
\begin{enumerate}
\item \textbf{Penalty for cheating:} If a team member is found cheating or breaking Fair Play, the team will be automatically disqualified from the running test, and receives a penalty of \scoring{\penaltybig points}.
The \TC{} may also disqualify the team for the entire competition.
\item \textbf{Extra penalty for collision:} In case of major, grossly negligent collisions the \TC{} may disqualify the team for a test (the team receives \scoring{0 points}), or for the entire competition.
\item \textbf{Not showing up as referee or assistant:} If a team does not provide a referee or assistant who is present at the Arena on time, the team receives a penalty of \scoring{\penaltysmall points}.
\end{enumerate}
\subsection{Bonus for outstanding performance}\label{rule:outstanding_performance}
\begin{enumerate}
\item For every regular test, the @Home \TC{} can decide to give an extra bonus for \iterm{outstanding performance} of up to 10\% of the maximum test score.
\item This is to reward teams that do more than what is needed to solely score points in a test but show innovative and general approaches to enhance the scope of @Home.
\item If a team believes it deserves this bonus, it should inform the \TC{} in advance and provide a brief explanation.
\item The decision to grant the bonus and its extent is solely at the discretion of the \TC{}.
\end{enumerate}
================================================
FILE: pages/general_rules/Procedure.tex
================================================
\section{Procedure during Tests}
\subsection{Safety First!}\label{rule:safetyfirst}
\begin{enumerate}
\item \textbf{Emergency Stop:} At any time, if a robot exhibits dangerous behavior towards people or objects, the owners must immediately stop it.
\item \textbf{Stopping on request:} If a referee, member of the Technical or Organizational committee, an Executive or Trustee of the federation stops the robot (by pressing the emergency button) there will be no discussion. Similarly, if they tell the team to stop the robot, the robot must be stopped \emph{immediately}.
\item \textbf{Penalties:} Failure to comply results in immediate disqualification from the ongoing competition by the \AtHome{} \TC{}. Additionally, the team and its members may be banned from future competitions for at least one year by the RoboCup Federation Trustee Board.
\end{enumerate}
\subsection{Maximum number of team members}\label{rule:number_of_people}
\begin{enumerate}
\item \textbf{Regular Tests:} During regular tests, only one team member is allowed inside the \Arena{}.
Exceptions are tests that explicitly require volunteer assistance.
\item \textbf{Setup:} During the setup, the number of team members inside the \Arena{} is not limited.
% \item \textbf{Open Demonstrations:} During the \iterm{Open Challenge} \iterm{Demo Challenge}, and the \iaterm{final demonstration}{Finals}, the number of team members inside the arena is not limited.
%\item \textbf{Open Demonstrations:} During the \iterm{Open Challenge}, and the \iaterm{final demonstration}{Finals}, the number of team members inside the arena is not limited.
\end{enumerate}
\subsection{Fair play}\label{rule:fairplay}
\iterm{Fair Play} and cooperative behavior are expected from all teams throughout the competition, especially:
\begin{itemize}
\item while evaluating other teams,
\item while refereeing, and
\item when interacting with other teams' robots.
\end{itemize}
This includes the following:
\begin{itemize}
\item not attempting to cheat (e.g., pretending autonomous behavior where there is none),
\item not exploiting the rules (e.g., not attempting to solve the task but trying to score),
\item not intentionally causing other robots to fail.
\end{itemize}
Violating this rule may result in penalties such as negative scores, disqualification for a test, or even the entire competition.
\subsection{Expected Robot's Behavior}
Unless stated otherwise, it is expected that the robot behaves and reacts as a polite and friendly human would.
This applies to both how the robot performs tasks and how it interacts with humans.
As rule of thumb, one may ask any non-scientist how they would solve the task.
Please note that average users may not be familiar with the specific procedures for operating a robot. Therefore, interactions should be as natural as those with a human.
\subsection{Robot Autonomy and Remote Control}
\begin{enumerate}
\item \textbf{No touching:} During a test, the participants are not allowed to physically touch the robot(s) unless it is a \enquote{natural} way required by the task.
\item \textbf{Natural interaction:} The only allowed means to interact with the robot(s) are gestures and speech.
\item \textbf{Natural commands:} Anything that resembles direct control is forbidden.
\item \textbf{Remote Control:} Remotely controlling the robot(s) is strictly prohibited.
This includes pressing buttons, or intentionally influencing sensors.
\item \textbf{Penalties:} Disregard of these rules will lead to disqualification for a test or for the entire competition.
\end{enumerate}
\subsection{Collisions}
\begin{enumerate}
\item \textbf{\iterm{Touching}:} Gentle \emph{touching} of objects is acceptable but not advised.
Robots must not crash into anything.
The \enquote{safety first} rule (\refsec{rule:safetyfirst}) takes precedence over any other rule.
\item \textbf{\iterm{Major collisions}:} If a robot crushes into something during a test, it is immediately stopped. Additional penalties may apply.
\item \textbf{\iterm{Functional touching}:} Robots are allowed to apply pressure on objects, push furniture and, and interact with the environment using structural parts other than their manipulators.
This is known as \iterm{functional touching}.
However, the robot must clearly announce the interaction and kindly request not being stopped.\\
\textbf{Remark: } Referees may immediately stop a robot if there is suspicion of \emph{dangerous} behavior.
\end{enumerate}
\subsection{Removal of robots}\label{rule:robot_removal}
Robots that do not comply with the rules are stopped and removed from the \Arena{}.
\begin{enumerate}
\item It is the decision of the referees and the \TC{} member monitoring the test if and when to remove a robot.
\item When told to do so by the referees or the \TC{} member, the team must immediately stop the robot, and remove it from the \Arena{} without disturbing the ongoing test.
\item More than one team member is allowed to enter the \Arena{} after the robot has been stopped to quickly remove it.
\end{enumerate}
\subsection{Start Signal}\label{rule:start_signal}
Right before starting a task, a start signal is given to the robot to indicate the robot must start performing the task.
For tasks where the robot starts outside the arena and must enter the arena, the start signal is the door opening.
For tasks where the robot starts inside the arena or the task does not involve entering the arena, the start signal must be manual and performed by the referee.
\begin{enumerate}
\item \textbf{Door opening:} The robot starts outside the \Arena{} and is accompanied by a team member. The test begins when a referee (not a team member) opens the door.
\item \textbf{Manual start signal:} After a team member positioning the robot in the correct location and starting the robot, the referee must perform a manual start signal previoulsy approved on Robot Inspection (see~\refsec{sec:robot_inspection}).
When the robot is ready to start a task, it must clearly inform the referee it is ready to start, and what it needs to do to activate the start signal.
Some examples of possible manual start signals are:
\begin{itemize}[nosep]
\item Pressing a physical button on the robot (must be easily accessible and clearly marked as the start button)
\item Pressing a physical button on a remote controller
\item Releasing the emergency stop button
\item Applying pressure to the robot's contact/pressure sensors (e.g., pushing the head, gripper or an arm joint).
\item Verbal instructions
\item Hand gesture
\item Custom HRI interfaces (touchscreen, apps, software, etc.)
\end{itemize}
Start signals that involve the referee usage of mouses or writting on keyboards are forbidden.
Other start signals may be allowed, but must be authorized by the \TC{} during the Robot Inspection (see~\refsec{sec:robot_inspection}).
\end{enumerate}
\subsection{Restart Rule}\label{rule:restart}
During any test, teams are allowed to perform a single restart per attempt under the following conditions:
\begin{itemize}
\item A restart may only be requested until the robot scores 40 points.
\item The test time continues to run during the restart.
\item The team moves the robot back to the starting location.
\item The team has a maximum of \SI{60}{\second} to restart the robot.
\item Only one restart is permitted per test attempt.
\item Only points scored after a restart are counted; points scored before the restart are not considered.
\end{itemize}
\subsection{Entering and leaving the \Arena{}}\label{rule:start_position}
\begin{enumerate}
\item \textbf{Start position:} Unless stated otherwise, the robot starts outside of the \Arena{}.
\item \textbf{Entering:} The robot must autonomously enter the \Arena{}.
\end{enumerate}
\subsection{Gestures}\label{rule:gestures}
Hand gestures may be used to control the robot in the following way:
\begin{enumerate}
\item \textbf{Definition:} The teams define the hand gestures by themselves.
\item \textbf{Approval:} Gestures need to be approved by the referees and \TC{} member monitoring the test. Gestures should not involve more than the movement of both arms. This includes, for example, expressions of sign language or pointing gestures.
\item \textbf{Instructing operators:} It is the responsibility of the team to instruct operators.
\begin{enumerate}
\item The team may only instruct the operator when told to so by a referee.
\item The team may only instruct the operator in the presence of a referee.
\item The team may only instruct the robot for as long as allowed by the referee.
\item When the robot has to instruct the operator, it is the robot that instructs the operator and \emph{not} the team. The team is not allowed to guide the operator further, such as telling them to come closer or repeat a command.
\item The robot is allowed to instruct the operator at any time.
\end{enumerate}
\item \textbf{Receiving gestures:} Unless stated otherwise, it is not allowed to use a speech command to set the robot into a special mode for receiving gestures.
\end{enumerate}
\subsection{Referees}\label{rule:referees}
All tests are monitored by a referee, who is a member of the \TC{}. The referee may appoint an assistant to help with timekeeping and score sheets.
The following rules apply:
\begin{enumerate}
\item \textbf{Selection:} Referees are chosen by \EC{},\TC{},\OC{}.
\item \textbf{Referee instructions:} Right before each test, the referee selects one or more assistants to aid during the test. The assistants will be instructed by the referee.
\end{enumerate}
\subsection{Operators}\label{rule:operator}
Unless stated otherwise, robots are operated by the referee or by a person selected by the referee.
If the robot fails to understand the default operator, the team may request the use of a custom operator.
A penalty may apply when using a custom operator.
\subsection{Time limits}\label{rule:time_limits}
\begin{enumerate}
\item \textbf{Inactivity:} Robots must not stand still or get stuck in endless loops.
If a robot is not progressing in the task (and is clearly not attempting to do so), it is considered inactive.
The robot must be removed from the \Arena{} after 30 seconds of inactivity.
\item \textbf{Requesting time:} A robot (not the team) can request the referees to extend the inactivity time limit for a time-consuming process (e.g., 60~seconds). This time cannot exceed 3 minutes and can only be used once per test.
\item \textbf{Setup time:} Unless stated otherwise, there is no setup time.
Robots need to be ready to enter the \Arena{} no later than one minute after the door has been closed to the previous team.
\item \textbf{Time-up:} When the time is up, the team must immediately remove their robot(s) from the \Arena{}.
No more additional score will be giving.
\item \textbf{Show must go on:} In special cases, the referee may allow the robot to continue the test for demonstration purposes, but no additional points will be scored.
\end{enumerate}
================================================
FILE: pages/general_rules/Robots.tex
================================================
\section{Robots}\label{rule:robots}
\subsection{Number of Robots}\label{rule:robots_number}
\begin{enumerate}
\item \textbf{Registration:} The maximum \term{number of robots} per team is \emph{two}. Note, that a different configuration of a robot (i.e. alternative gripper) counts as a second robot. A robot needs to pass \RobotInspection \ in both configurations.
\item \textbf{Regular Tests:} Only one robot is allowed per test. Different robots can be used for different test runs.
\end{enumerate}
\subsection{Appearance and Safety}\label{rule:robot_appearance}
Robots competing in the RoboCup@Home League must comply with security specifications to ensure they do not pose any risk to people or property while operating.
\begin{enumerate}
\item \textbf{Cover:} All internal hardware (electronics and cables) must be fully enclosed to ensure safety.
\item \textbf{Appearance:} Robots should present a product-like, finished appearance rather than an early-stage prototype. While improvised coverings (e.g. a t-shirt) are not explicitly prohibited, they are strongly discouraged. %Visible duct tape is strictly prohibited.
\item \textbf{Loose cables:} No loose cables should hang out of the robot.
\item \textbf{Safety:} The robot must not have sharp edges or protruding parts that could harm people.
\item \textbf{Annoyance:} The robot must not emit continuous loud noises or use blinding lights.
\item \textbf{Marks:} The robot must not display any artificial marks or patterns.
\item \textbf{Driving:} Obstacle avoidance is mandatory to ensure safe movement.
\end{enumerate}
The compliance with these rules will be verified during \RobotInspection{} (see \ref{sec:robot_inspection}).
\subsubsection{Size and Weight}\label{rule:robots_size}
\begin{enumerate}
\item \textbf{Dimensions:} The robot must fit within the dimensions of an average door, which are typically \SI{200}{\centi\meter} by \SI{70}{\centi\meter} in most countries.
The \TC{} allows the qualification and registration of larger robots, but they cannot guarantee that these robots can actually enter the \Arena{} due to local restrictions.
If in doubt, please contact the \LOC{}.
\item \textbf{Weight:} While there are no specific weight restrictions, the robot's total weight and the pressure it exerts on the floor must not exceed local regulations for the construction of offices and/or buildings in the country where the competition is held.
\item \textbf{Transportation:} Team members are responsible for quickly removing the robot from the \Arena{}.
The robot must be transportable by the team members in a way that is both quick and easy.
\end{enumerate}
\subsubsection{Emergency Stop Button}\label{rule:robots_emergency_button}
\begin{enumerate}
\item \textbf{Accessibility and visibility:} Each robot must have an easily accessible and visible \EmergencyStop{} button.
\item \textbf{Color:} \EmergencyStop{} buttons must be colored red and must be the only red buttons on the robot.
The \TC{} may ask the team to tape over or remove any other red buttons present on the robot.
\item \textbf{Robot behavior:} When an \EmergencyStop{} button is pressed, the robot and all its parts must stop moving immediately.
\end{enumerate}
\subsubsection{Start Button}\label{rule:start_button}
\begin{enumerate}
\item \textbf{Requirements:} As explained in~\refsec{rule:start_signal}, teams that cannot perform the default start signal (opening the door) must provide a \StartButton{} that can be used to start tests.
Teams must inform the TC in advance of any test that involves a start signal, including the \RobotInspection{}.
\item \textbf{Definition:} The \StartButton{} can be any \enquote{one-button procedure} that is easy for a referee to execute, such as releasing the \EmergencyStop{}, pressing a green button, or using a software button in a graphical user interface.
\end{enumerate}
\noindent\textbf{Note:} All robot requirements will be tested during the \RobotInspection{} (see~\ref{sec:robot_inspection}).
================================================
FILE: pages/general_rules/Scenario.tex
================================================
\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, including the furnishing and other information common to all tests and leagues.
\subsection{RoboCup@Home Arena}
The \RoboCup\AtHome\Arena{} is a realistic home setting (an apartment) composed of interconnected rooms.
The minimal configuration consists of:
\begin{itemize}
\item a living room,
\item a kitchen
\item two additional rooms (e.g., bedroom, office, dining room, laundry room, foyer, childrens room).
\end{itemize}
There are usually two competition arenas.
Depending on the local organization, there may be multiple \Arena{}s that differ, and a robot must be prepared to perform any task in any \Arena{}.
The arena is designed to resemble a typical apartment in the hosting country, including all necessities and decorations found in a \emph{normal} home.
Note that what is considered \emph{normal} may vary by culture and location.
Decorations can 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}
The indoor home setting will be surrounded by high and low \Term{walls}{Arena walls}, which are built up using standard fair construction material.
\begin{enumerate}
\item \textbf{Walls:} Walls are fixed and cannot be modified during the competition. The minimum wall height is \SI{60}{\centi\meter}; a maximum height is not specified, but must allow the audience to view the competition.
\item \textbf{Doors:} Rooms are connected by doors (at least one). All doors have handles, not knobs, and can be closed at any time.
It is expected that robots can open these doors or find alternative paths around them.
Doors must meet minimum accessibility requirements, with a recommended width of \SI{915}{\milli\meter}.
\item \textbf{Floor:} The floor and doorways are even, so there are no major steps or stairs. Minor variations, such as carpets, floor transitions, and small gaps (especially at doorways), can be expected.
\item \textbf{Appearance:} The floor and walls are mostly monochromatic, but may have textures like carpets or posters on walls.
\end{enumerate}
\subsection{Furniture}\label{rule:scenario_furniture}
The \Arena{} is furnished with typical objects common to the host country.
The minimal configuration consists of:
\begin{itemize}
\item a couch,
\item a coffee or side table,
\item a small dining table with two chairs,
\item a trash bin,
\item a bookcase (or similar shelving) with a minimum shelf spacing of \qty{30}{\centi\metre},
\item a front-loading washing machine,
\item kitchen equipment including:
\begin{itemize}
\item a dishwasher,
\item a pantry (tall cupboard with shelves) with a minimum shelf spacing of \qty{30}{\centi\metre},
\end{itemize}
\end{itemize}
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 objects]{\label{fig:scenario_objects}\includegraphics[height=46mm]{images/typical_objects.jpg}}
\caption{An example of a \RoboCup\AtHome{} scenario}\label{fig:arena}
\end{figure}
\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 notice.
\begin{enumerate}
\item \textbf{Major changes:}
Furniture that is not fully static in everyday environments may be moved slightly between tests.
In particular, furniture will not change rooms or move drastically within a room, but a couch or table may be slightly rotated or moved. Fixed locations for such furniture items should not be assumed.
Walls will stay in place and rooms will retain their function.
Passages might be blocked.
\item \textbf{Minor Changes:} Slightly moved chairs, slightly closed doors, or similar adjustments may occur at any time, even during a test.
\end{enumerate}
\def\NumObjects{30\ }
\def\NumLocations{20\ }
\def\NumNames{20\ }
\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.
Each object will have a picture, an official name, and an \ObjectCategory{} (e.g., an \textit{Apple} is in the \textit{Fruits} category).
Most objects are lightweight and easy to grasp with one hand.
Every \ObjectCategory{} has an assigned \PredefinedLocation{}, where objects of that category are usually found during tests (for example, an \textit{Fruits} can be found on the \textit{Kitchen Table}).
These locations 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 up to one hour.
Modifying the objects is not allowed.
Two types of objects are used in the tasks:
\begin{enumerate}
\item \textbf{\KnownObjects{}:} Objects previously known to the robot, divided into:
\begin{enumerate}
\item \textbf{\ConsistentObjects{}:} Objects whose image appears in the list of objects. These are published and available for testing and training on the first setup day.
\begin{enumerate}
\item \textbf{\CommonObjects{}:} All the Common objects, for teams to acquire and train on beforehand.
\item \textbf{\iterm{YCB Objects}:} Objects chosen from the \YCBData{}\footnote{\url{http://www.ycbbenchmarks.com/object-set/}}.
\item \textbf{\LocalObjects{}:} Local household items bought during the competition.
\end{enumerate}
\item \textbf{\SimilarObjects{}:} Objects not in the list but similar enough to one of the listed objects that a person would consider them the same kind (e.g., an apple with a different color or a cloth with a different pattern).
\end{enumerate}
\item \textbf{\UnknownObjects{}:} Any other object not in the object list but can be grasped or handled (e.g., \Arena{} decorations).
\end{enumerate}
\begin{figure}[H]
\centering
\subfloat[Red Bull can]{
\includegraphics[width=0.24\textwidth]{images/red_bull.jpg}\label{fig:scenario_red_bull}}
\subfloat[Red Pringles can]{
\includegraphics[width=0.24\textwidth]{images/pringles.jpg}\label{fig:scenario_pringles}}
\subfloat[Solved Rubik's cube]{
\includegraphics[width=0.24\textwidth]{images/rubiks_cube.jpg}\label{fig:scenario_rubiks_cube}}
\subfloat[Colgate toothpaste box]{
\includegraphics[width=0.24\textwidth]{images/colgate.jpeg}\label{fig:scenario_colgate}}
\caption{Worldwide available objects}
\label{fig:scenario_common_objects}
\end{figure}
The minimal configuration of \KnownObjects{} consists of:
\begin{itemize}
\item \textbf{\iterm{Tableware}:} Dish, bowl, cup (or mug), and napkin.
\item \textbf{\iterm{Cutlery}:} Fork, knife, and spoon.
\item \textbf{\iterm{Bags}:} Lightweight and with stiff, vertical handles.
\item \textbf{\iterm{Trays}:} A transport objects like trays or baskets, intended for bimanual manipulation.
\item \textbf{\iterm{Pourable}:} An object whose content can be poured (such as a cereal box).
\item \textbf{\iterm{Heavy object}:} Weighing between \SI{1.0}{\kg} and \SI{1.5}{\kg}.
\item \textbf{\iterm{Tiny object}:} A lightweight object not larger than \SI{5}{\centi\meter} (such as a strawberry or a dice).
\item \textbf{\iterm{Fragile object}:} An object that is easy to break (such as a chocolate egg).
\item \textbf{\iterm{Deformable object}:} A flexible object that may change shapes (such as cloth).
\item \textbf{\iterm{Laundry}:} T-shirt to be used for folding.
\item \textbf{\iterm{Laundry basket}:} A wide, lightweight laundry basket, intended for bimanual manipulation. (see Figure~\ref{fig:scenario_basket} for an example).
\item \textbf{\iterm{Common Objects}:} A Red Bull can, a red Pringles container, a solved Rubik’s cube and a Colgate toothpaste box. These objects must be commonly available worldwide. (see Figure~\ref{fig:scenario_common_objects}).
\end{itemize}
\begin{figure}[H]
\centering
\subfloat[Example Laundry Basket]{
\includegraphics[width=0.32\textwidth]{images/basket.jpg}\label{fig:scenario_basket}}
\caption{Additional scenario objects}
\label{fig:additional_items}
\end{figure}
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.).
\item Relative estimated size (smallest, largest, big one, etc.).
\item Relative estimated weight (lightest, heaviest).
\item Relative position to other objects (left of, rightmost, etc.).
\item Description (is fragile, is a container, can be poured, requires two hands, etc.).
\end{itemize}
\noindent\textbf{Remark:} Measurements are estimations and based on common sense. It is acceptable for robots to consider similar objects to be about the same size or weight.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Predefined locations section.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Predefined Rooms and Locations}\label{rule:scenario_locations}
Some tests require robots to interact with \PredefinedLocation{} where people or objects may be found.
The \Arena{} includes at least two \Term{doors}{Arena doors}, named \Entrance{} and \Exit{}, which connect to and from the \Arena{}.
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 involve memorizing a person's name.
Each person in the \Arena{} is assigned a \PredefinedName{} 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}
For wireless communication, an \ArenaNetwork{} is provided.
The actual infrastructure depends on the local organization.
Reliability and performance of the network are not guaranteed, so robots are expected to be able to function without it.
The following rules apply:
\begin{itemize}
\item Only the \ArenaNetwork{} can be used during tests.
\item Only the active team in a task is allowed can use the \ArenaNetwork{}.
\item The \ArenaNetwork{} provides one Virtual Local Area Network (VLAN) per team.
\item Each VLAN has its own SSID and password.
\item VLAN traffic is isolated from others teams.
\item Each VLAN is also connected to the Internet.
\end{itemize}
Teams broadcasting unauthorized wireless networks will be disqualified.
This includes networks with concealed SSIDs.
It is recommended to check all devices for any unauthorized wireless network activity.
================================================
FILE: pages/general_rules/ScoringInteraction.tex
================================================
\section{Scoring Human Robot Interaction}\label{sec:rules:hri}
In some tests, the robot is required to interact with volunteer participants other than the referees. These volunteers may include team members or individuals from outside the league with no robotics background.
In such cases, the interaction will be evaluated by the volunteer.
A score will only be awarded if the volunteer confirms that the interaction was successful.
\subsection*{Example}\label{rule:hri_example}
Example (non-exhaustive):
\begin{itemize}[noitemsep]
\item The referee may ask the person if they understood information provided by the robot.
\item The referee may ask the person if the robot held eye contact.
\end{itemize}
================================================
FILE: pages/general_rules/TeamRegistration.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Team Registration and Qualification}
\subsection{Registration and Qualification Process}
\label{rule:participation}
Each year, there are three phases in the process towards participation in \AtHome:
\begin{enumerate}
\item \iterm{Preregistration}
\item \iterm{Qualification} announcement
\item Final \iterm{Registration} for qualified teams
\end{enumerate}
The \iterm{Preregistration} process is initiated by a call for participation sent to the \iterm{RoboCup@Home mailing list}.
Preregistration requires a \iterm{Team Description Paper}, a \iterm{Qualification Video}, and a \iterm{Team Website}.
The expected contents of these are described below.
\subsection{Team Description Paper}\label{rule:website_tdp}
The \TDP{} is an 8-pages scientific paper that must include a description of your main research, including the scientific contribution, goals, scope, and results.
The \TDP{} has to be written in English and formatted using the template of the RoboCup International Symposium without any alterations.
The paper should contain the following items:
\begin{itemize}
\item The focus of research and the contributions in the respective fields
\item Innovative technology (if any)
\item Re-usability of the system for other research groups
\item Applicability of the robot in real-world scenarios
\item Photo(s) of the robot(s) used
\end{itemize}
As an appendix on the 9th page (after the references), please include:
\begin{itemize}
\item Team name
\item Contact information
\item Website URL
\item Names of the team members
\item Photo(s) of the robot(s), unless included before
\item Description of the hardware used
\item A brief, compact list of \iterm{external devices} (see~\refsec{rule:robot_external_devices}), if any
\item A brief, compact list of any used 3rd party software packages (e.g.~ROS' \texttt{object\_recognition} should be listed, but \texttt{OpenCV} doesn't have to be because it is a rather standard library)
\item A brief description of the hardware used by the robot(s)
\end{itemize}
During the qualification process, the \TDP{} will be scored according to its scientific value, novelty, and contributions.
\subsection{Qualification Video}
As a proof of running hardware, each team has to provide a \iterm{Qualification Video} that demonstrates at least two of the following minimum requirements:
\begin{itemize}
\item Human-robot interaction
\item Safe navigation (indoors, with obstacle avoidance)
\item Object detection and manipulation
\item People detection
\item Speech recognition
\item Speech synthesis (clear and loud)
\end{itemize}
It is also recommended that the video include some of the following abilities:
\begin{itemize}
\item Activity recognition
\item Complex speech recognition
\item Complex action planning
\item Gesture recognition
\item Failure recovery
\end{itemize}
The video should not exceed \SI{10}{\minute}, be self-explanatory and be designed for a general audience.
It must show the robot solving complex tasks relevant to \AtHome{}.
In particular, to qualify for the competition, the video must demonstrate that the robot is able to successfully solve at least one test from the current or previous year's rule book.
For robots moving slowly, we recommend speeding up the video, but please indicate the speed factor being used when doing so (e.g. 2x). The same rule applies for slow motion scenes.
\subsection{Team Website}
The \iterm{Team Website} should be designed for a broader audience and include scientific material (scientific papers, datasets, and documented open source code).
The requirements for the website are as follows:
\begin{enumerate}
\item \textbf{Language}: The \iterm{Team Website} must be in English. Other languages may be available, but English must be default language.
\item \textbf{Team}: A comprehensive list of all team members, including brief profiles.
\item \textbf{RoboCup}: Link to the league website and previous participations of the team at \RoboCup{} (not necessarily only \AtHome{}).
\item \textbf{Scientific approach}: Include a research statement, a description of the used approach, and information on scientific achievements.
\item \textbf{Publications}: Relevant \iterm{publications} from at least the last five years should be included. Downloadable publications are scored higher during the qualification process.
\item \textbf{Open source material}: Blueprints, datasets, repositories, or any other contributions to the league are highly valued during the qualification process.
\item \textbf{Multimedia}: Photos and videos of the robot(s) used should be included and easily accessible.
\end{enumerate}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Qualification}\label{rule:qualification}
During the \iterm{Qualification Process}, a selection will be made by the \OC{}.
The following factors are evaluated in the decision process:
\begin{itemize}
\item The scientific value, novelty, and contributions of the \TDP{}
\item The number of abilities and the complexity of the tasks shown in the \iterm{Qualification Video}
\item The contents of the \iterm{Team Website}, where relevant publications and open source resources are highly valued
\end{itemize}
In addition, the following evaluation criteria are considered:
\begin{itemize}
\item The performance in previous competitions
\item Relevant scientific contributions and publications
\item Any additional contributions to the \AtHome{} league
\end{itemize}
\subsection{Participation Confirmation}\label{rule:participation-confirmation}
In order to have as many participating teams as possible, qualified teams \emph{must} contact the \OC{} to confirm (or cancel) the participation several months in advance.
Confirming attendance implies that the team has sufficient resources to register for the competition and commits to attend the event.
Qualified teams that do not confirm their participation may be disqualified.
================================================
FILE: pages/general_rules/vizbox.tex
================================================
\section{Audience interaction}\label{rule:vizbox}
Part of making \RoboCup\AtHome{} appealing is to show the audience what robots should do and what they are actually doing during tasks.
In particular, providing information about what a robot is doing to the audience is important for the advancement of the league.
To this end, robots in \AtHome{} are expected to run the \RoboCup\AtHome{} \href{https://github.com/LoyVanBeek/vizbox}{VizBox}\footnote{\url{https://github.com/LoyVanBeek/vizbox}}, which is a web server to be run on a robot during a task.
The page it serves can be displayed on a screen and is visible to the audience via a secondary computer in or around the \Arena{}, which is connected to the web server via the wireless network.
The \iterm{VizBox} can:
\begin{itemize}
\item display images of what a robot can see, such as camera images, or a visualization of the robot's world model, the robot's map, or anything else that clarifies what the robot is trying to do
\item show an outline of the current tasks and the robot's current state in it
\item display subtitles of the conversation between a robot and an operator
\end{itemize}
Additionally, the \iterm{VizBox} offers a way to input text commands to the robot so that automatic speech recognition can be bypassed, if necessary.
The documentation of the component is maintained in the \iterm{VizBox} repository.
All teams should ideally run the same VizBox code, as the audience should be shown a consistent presentation; however, opening a pull request to share any changes is much appreciated so that all teams can benefit from them.
================================================
FILE: pages/introduction/Awards.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction - Awards
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Awards}\label{sec:awards}
The \AtHome{} league features the \iterm{awards} described below.
Note that all awards need to be approved by the \RCF{}; based on a decision by the RCF, some of them may not be awarded
\subsection{Winner of the Competition}\label{award:winner}
For each league, there will be 1st, 2nd, and 3rd place award trophies (or only 1st and 2nd place trophies if the number of teams in a league is eight or fewer).
\subsection{Best Human-Robot Interface Award}\label{award:hri}
To honor outstanding human-robot interfaces developed for interacting with robots in \AtHome{}, a special \HRIAward{} may be awarded to one of the participating teams.
Special attention is given to interfaces that are open and available to the \AtHome{} community.
The \AtHome{} \EC{} members nominate a set of candidates for the award and the TC elects the winner.
A TC member whose team is among the nominees is not allowed to vote.
No \HRIAward{} is given if the EC decides there is no outstanding interface and thus no nominees.
\subsection{Best Poster Award}\label{award:poster}
To promote scientific knowledge exchange and reward teams for their efforts in presenting research contributions, all scientific posters are evaluated for the \OPLPosterAward{}.
Candidate posters must present innovative and state-of-the-art research in a field directly applicable to \AtHome{}, with clear and easy-to-understand results.
In addition to being attractive and well-rated in the \PPS{} (see~\refsec{sec:poster_presentation_session}), the research must also have a measurable impact on the team's performance during the competition.
The \AtHome{} \EC{} members nominate a set of candidates for the award and the TC elects the winner.
A \TC{} member whose team is among the nominees is not allowed to vote.
\subsection{Open Challenge Award}\label{award:oc}
To encourage teams to showcase their research to other teams durin the competition off-hours, \AtHome{} grants the \OCAward{} to the team that presents the best open demonstration during the competition.
This award is given only if a team demonstrates innovative research relevant to the global objectives of \AtHome{}.
The \AtHome{} TC members, with a recommendation from the team leaders, nominate a set of candidates for the award. Yhe EC decides whether the award should be granted and then elects the winner.
A \TC{} member is not allowed to nominate their own team without a recommendation from the team leaders.
\subsection{Skill Certificates}\label{award:skill}
The \AtHome{} league features certificates for best demonstrated skills in \NAV{}, \MAN{}, \PerRec{}, and \NLP{}.
A team receives the certificate if it scores at least 75\% of the attainable points for that skill across all tests and challenges.
For example, if a robot scores manipulation points during the \emph{Help-me-Carry} test to open the door, that will count for the \MAN{} certificate.
Note that the certificate will only be awarded if the team is \emph{not} the overall winner of the competition.
\subsection{Open-source software award}\label{award:oss}
Since Nagoya 2017, RoboCup@Home awards the best contribution to the community by means of an open-source software solution.
To be eligible for the award, the software must be easy to read, well-documented, follow standard design patterns, actively maintained, and meet the IEEE software engineering metrics of scalability, portability, maintainability, fault tolerance, and robustness.
Additionally, the open-source software must be available as a framework-independent standalone library to ensure it can be reused with any software architecture.
Candidates must submit their application to the \TC{} at least one month before the competition via a short paper (maximum 4 pages), in the same format as the \TDP{} (see~\refsec{rule:website_tdp}), including a brief explanation of the approach, comparison with state-of-the-art techniques, statement of the used metrics and software design patterns, and the name of the teams and other collaborators using the software.
The \AtHome{} \EC{} members nominate a set of candidates for the award and the \TC{} elects the winner.
A \TC{} member whose team is among the nominees is not allowed to vote.
================================================
FILE: pages/introduction/Competition.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction - Competition
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Competition}
The competition consists of a series of \iterm{Tests} held in a daily life environment, followed by the \FINAL{}.
Teams compete in the tests to evaluate their robot capabilities, and the highest-ranked teams advance to the \FINAL{}.
The \FINAL{} features a single integrated task where the top teams compete to determine the winner.
================================================
FILE: pages/introduction/Infrastructure.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction - Infrastructure
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Infrastructure}\label{sec:introduction:infrastructure}
\paragraph{RoboCup@Home Mailing List}\label{sec:introduction:mailinglist}
The official \AtHome{} mailing list can be found at\\
\href{mailto:robocup-athome@lists.robocup.org}{\small\texttt{robocup-athome@lists.robocup.org}}.
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}
The official \AtHome{} website that also hosts this rulebook can be found at {\small\url{https://athome.robocup.org/}}
\paragraph{RoboCup@Home Rulebook Repository}\label{sec:introduction:repo}
The official \AtHome{} \RR{} is where rules are publicly discussed before applying changes.
The entire \AtHome{} community is welcome and encouraged to actively participate in creating and discussing the rules.
The \RR{} is hosted at {\small\url{https://github.com/RoboCupAtHome/RuleBook/}}
\paragraph{RoboCup@Home Telegram Group}\label{sec:introduction:telegramgroup}
The official \AtHome{} \TG{} is a communication channel for the \AtHome{} community where rules are discussed, announcements are made, and questions are answered.
Beyond supporting the technical aspects of the competition, the group is a meeting point to stay in contact with the community, foster knowledge exchange, and strengthen relationships.
The \TG{} can be reached at {\small\url{https://t.me/RoboCupAtHome}}
\paragraph{RoboCup@Home Wiki}\label{sec:introduction:wiki}
The official \AtHome{} \WIKI{} is meant to be a central place to collect information on all topics related to the \AtHome{} league.
The wiki was set up to simplify and unify the exchange of relevant information; this includes, but is not limited to, hardware, software, media, data, and more.
The \WIKI{} can be reached at {\small\url{https://github.com/RoboCupAtHome/AtHomeCommunityWiki/wiki}}
================================================
FILE: pages/introduction/Leagues.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction - Leagues
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Leagues}\label{sec:leagues}
\AtHome{} consists of a single league, meaning teams have complete freedom in selecting their robot platform. The official league and its name is:
\begin{itemize}
\item \OPL{}
\end{itemize}
\subsection{Open Platform League (OPL)}
The \OPL{} has followed the same core philosophy since the foundation of \AtHome{}.
Its main goal is to develop and test robots that can assist humans in domestic environments.
With no hardware constraints, the OPL offers teams full freedom to design and configure their own robots.
This openness allows for a wide range of approaches, making the league accessible to both new and experienced teams.
In this league, robots are pushed to their performance limits without being restricted by predefined design requirements.
================================================
FILE: pages/introduction/Organization.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction - Organization
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Organization}
\AtHome{} is organized into three subcommittees. The current members of the committees are listed at \url{https://athome.robocup.org/committees/}.
\subsection{Executive Committee --- rc-home-ec@lists.robocup.org}\label{sec:ec}
The \EC{} consists of members of the board of trustees, and representatives of each activity area, and supervises both the TC and OC.
The committee is responsible for the long-term planning of the league and cast the final vote in all decisions within the competition, including those pertaining to any of the committees and any other affair that requires a qualified vote.
Additionally, the EC must act when any of the committees fail, as it responds to the Trustee board and directs the league accordingly.
\subsection{Technical Committee --- rc-home-tc@lists.robocup.org}\label{sec:tc}
The \TC{} is responsible for the rules of the league; its main focus is writing the rulebook and refereeing.
The members of the \EC{} are also members of the \TC{}.
\subsection{Organizing Committee --- rc-home-oc@lists.robocup.org}\label{sec:oc}
The \OC{} is responsible for the organization of the competition, namely it creates the schedule and provides information about the scenarios.
The \LOC{}, on the other hand, is responsible for the setup and organization of the competition venue.
================================================
FILE: pages/organization/GeneralRules.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: general_rules.tex 420 2013-04-08 15:30:35Z holz $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: description of the GENERAL RULES
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{General Rules and Regulations}
\label{chap:rules}
These are the general rules and regulations for the competition in the \RoboCup\AtHome{} league.
Every rule in this section can be considered to implicitly include the term \emph{\enquote{unless stated otherwise}}.
This means that additional or contrary rules, in particular with respect to the specification of tests, have a higher priority than those mentioned in the general rules and regulations.
\input{pages/general_rules/TeamRegistration}
\input{pages/general_rules/vizbox}
%\input{pages/general_rules/Scenario}
\input{pages/general_rules/Robots}
\input{pages/general_rules/ExternalDevices}
\input{pages/general_rules/Organization}
\input{pages/general_rules/Procedure}
%\input{pages/general_rules/ContinueRules.tex}
\input{pages/general_rules/PenaltiesBonuses}
\input{pages/general_rules/OpenChallenge}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/organization/Introduction.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Introduction}
\label{chap:introduction}
\input{pages/introduction/Organization}
\input{pages/introduction/Infrastructure}
\input{pages/introduction/Leagues}
%\input{pages/introduction/Competition}
\input{pages/introduction/Awards}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/organization/Setup.tex
================================================
\chapter{Setup and Preparation}\label{chap:setup_and_preparation}
Prior to the RoboCup@Home competition, all arriving teams will have an opportunity to set up their robots and prepare for the competition in a \iterm{Setup \& Preparation} phase.
This phase is scheduled to start on the first day of the competition, namely when the venue opens and the teams arrive.
During the \SetupDays{}, teams can assemble and test their robots.
On the last setup day, a \WelcomeReception{} will be held.
To foster the knowledge exchange between teams, a conference-like \PPS{} will also be held.
Additionally, all teams have to get their robots inspected by members of the \TC{} to be allowed to participate in the competition.
\paragraph{Regular tests are not conducted during the setup \& preparation phase.}
\begin{table}[h]
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{S}{C{1.6cm}}
\newcolumntype{M}{C{3.2cm}}
\begin{center}
\caption{General Schedule (distribution of tests over days may vary)}
\begin{tabularx}{10.93cm}{S|S|S|S|S|S}
\hline
\multicolumn{2}{|M|}{ \cellcolor[HTML]{FFFFC7}Setup \& \newline Preparation} &
\multicolumn{2}{M|}{ \cellcolor[HTML]{67FD9A}\iterm{Tasks}} &
\multicolumn{2}{M|}{ \cellcolor[HTML]{FFCCC9}\iterm{Finals}}\\
\hline
%Second row
\multicolumn{1}{S|}{} &
\multicolumn{2}{M|}{$\xrightarrow{advance}$\newline All teams that \newline passed Inspection} &
\multicolumn{2}{M|}{$\xrightarrow{advance}$\newline Best \newline Teams} &
\multicolumn{1}{C{1.2cm}}{~}
\\ \cline{2-5}
\end{tabularx}
\end{center}
\end{table}
\section{General Setup}\label{sec:general_setup}
Depending on the schedule, the \iterm{Setup \& Preparation} phase lasts for one or two days.
\begin{enumerate}
\item \textbf{Start:} The \iterm{Setup \& Preparation} starts when the venue opens for the first time.
\item \textbf{Intention:} During the \iterm{Setup \& Preparation}, teams arrive, bring or receive their robots, and assemble and test them.
\item \textbf{Tables:} The local organization will set up and randomly assign team tables.
\item \textbf{Groups:} Depending on the number of teams, the \OC{} may form multiple groups of teams (usually four). The \OC{} will assign teams to groups and announce the assignment to the teams.
\item \textbf{\Arena{}:} The \Arena{} is available to all teams during the \iterm{Setup \& Preparation}. The \OC{} may schedule special test or mapping slots in which \Arena{} access is limited to one or more teams exclusively (all teams get slots). Note, however, that the \Arena{} may not yet be complete and that the last work is conducted in the \Arena{} during the \SetupDays{}.
\item \textbf{Objects:} The delegation of EC, TC, OC and local organizers will buy the objects (see~\refsec{rule:scenario_objects}). Note, however, that the objects may not be available at all times and not from the beginning of the \iterm{Setup \& Preparation}.
\end{enumerate}
\section{Welcome Reception}\label{sec:welcome_reception}
Since Eindhoven 2013, RoboCup@Home holds an own \WelcomeReception{} in addition to the official opening ceremony. A \PPS{} is held in which teams present their research focus and latest results (see~\refsec{sec:poster_presentation_session}).
\begin{enumerate}
\item \textbf{Time:} The \WelcomeReception{} is held in the evening of the last setup day.
\item \textbf{Place:} The \WelcomeReception{} takes place in the @Home \Arena{} and/or in the \AtHome{} team area.
\item \textbf{Snacks \& drinks:} During the \WelcomeReception{}, snacks and beverages (beers, sodas, etc.) are served.
\item \textbf{Organization:} It is the responsibility of the OC and the local organizers to organize the \WelcomeReception{} and \PPS{}, including:
\begin{enumerate}
\item Organize poster stands (one per team) or alternatives for presenting the posters,
\item Organize snacks and drinks,
\item Invite officials, sponsors, the local organization, and the trustees of the RoboCup Federation to the event.
\end{enumerate}
\item \textbf{Poster presentation:} Teams give a poster presentation on their research focus, recent results, and their scientific contribution.
Both the poster and the presentation talk are evaluated by a jury (see~\refsec{sec:poster_presentation_session}).
\end{enumerate}
\section{Poster Presentation Session}
\label{sec:poster_presentation_session}
At the \PPS, each team can give a short presentation of their research and the poster being presented at the poster session.
\subsection{Poster presentation session}
\begin{enumerate}
\item \textbf{Presentation:} Each team has a maximum of three minutes to give a short presentation of their poster.
\item \textbf{Time:} The \PPS{} timing is defined by LOC.
\item \textbf{Place:} The \PPS{} may be held in or around the \Arena{}, depending on venue announced during setup days, but should not interfere with the \RobotInspection{} (see~\refsec{sec:robot_inspection}).
\item \textbf{Evaluation:} The poster and poster presentations are evaluated by a jury consisting of members of the other teams. Each team has to provide one person (preferably the team-leader) to follow and evaluate the entire \PPS{}.
\item \textbf{Criteria:} For each of the following evaluation criteria, a maximum of 10 points is given per jury member:
\begin{enumerate}
\item Novelty and scientific contribution
\item Relevance for RoboCup@Home
\item Presentation (quality of poster, presentation talk, and discussion during the \PPS{})
\end{enumerate}
\item \textbf{Score:} The points given by each jury member are scaled to obtain a maximum of 50 points. The total score for each team is the mean of the jury member scores. To neglect outliers, the N best and worst scores are left out:
$$
score=\frac{\sum \text{team-leader-score}}{\text{number-of-teams}-\left ( 2N+1 \right )},N=\left\{\begin{matrix}
1, & \text{number-of-teams} \geq 10\\
2, & \text{number-of-teams} < 10
\end{matrix}\right.
$$
\item \textbf{Sheet collection:} The evaluation sheets are collected by the \OC{} at a later time (announced beforehand by the \OC{}), allowing teams to continue knowledge exchange during the first days of the competition.
\item \textbf{OC Instructions:}
\begin{itemize}
\item Prepare and distribute evaluation sheets before the \PPS{}.
\item Collect the evaluation sheets.
\item Organize and manage the poster presentations.
\end{itemize}
\end{enumerate}
\section{Robot Inspection}\label{sec:robot_inspection}
Safety is the most important issue when interacting with humans and operating in the same physical workspace. Because of this, all participating robots are inspected before participating in RoboCup@Home. Every team needs to get their robot(s) inspected and approved so that they can participate in the competition.
\begin{enumerate}
\item \textbf{Procedure:} The \RobotInspection{} is conducted like a regular test, namely it starts with opening of the arena door (see~\refsec{rule:start_signal}). One team after another (and one robot after another) has to enter the \Arena{} through a designated entrance door, move to the \textit{Inspection Point}, and leave the arena through the designated exit door. In between entering and leaving, the robot is inspected by the \TC{}.
\item \textbf{Checked aspects:} During the \RobotInspection{}, each robot is checked for compliance with the competition rules (see~\refsec{rule:robots}), in particular:
\begin{itemize}
\item emergency button(s)
\item collision avoidance (a TC member steps in front of the robot)
\item voice of the robot (it must be loud and clear)
\item custom containers (bowl, tray, etc.)
\item external devices (including wireless network), if any
\item Alternative human-robot interfaces (see~\refsec{rule:asralternative}).
\item robot speed and dimension
\item manual start signal (used to signal the robot to start its navigation to exit door, after reaching inspection point) (see~\refsec{rule:start_signal}).
\item robot speaker system (plug for RF transmission)
\item other safety issues (duct tape, hanging cables, sharp edges etc.)
\end{itemize}
\item \textbf{Re-inspection:} If the robot is not approved in the inspection, it is the responsibility of the team to get the approval at a later point. Robots are not allowed to participate in any test before passing the \RobotInspection.
\item \textbf{Time limit:} The robot inspection is interrupted after three minutes (per robot). When told so by the TC --- in case of time interrupt or failure --- the team has to move the robot out of the \Arena{} through the designated exit door.
\item \textbf{Appearance Evaluation:} In addition to the inspection, the TC evaluates the appearance of the robots. Robots are expected to look nice (no duct tape, no cables hanging loose etc.). In case of objection, the TC may penalize the team with a penalty of maximum 50 points.
\item \textbf{Accompanying team member:} Each robot is accompanied by only one team member (the team leader is advised).
\item \textbf{OC instructions (at least two hours before the \RobotInspection):}
\begin{itemize}
\item Announce the entry and exit doors.
\item Announce the location of the \textit{Inspection Point} in the \Arena{}.
\item Specify and announce where and when the \PPS{} takes place.
\item Collect the evaluation sheets
\end{itemize}
\end{enumerate}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/organization/about.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: about.tex
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: About for the RoboCupAtHome organization guidelines
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{About this document}
These are the organization guidelines of the RoboCup@Home competition \YEAR. It contains the procedures surrounding the Robocup@Home competition. Both those leading up to the event and those in place during the competition. This document excludes the tests the robot are expected to perform and the scores associated with them. Those can be found in the \Rulebook.
This document has been written by the \YEAR ~RoboCup@Home Technical Committee.
\section*{How to cite this document}
If you refer to RoboCup@Home and this document in particular, please cite:\\
\noindent Justin Hart, Alexander Moriarty, Katarzyna Pasternak, Johannes Kummert,
Alina Hawkin, Vanessa Hassouna, Juan Diego Pena Narvaez, Leroy Ruegemer,
Leander von Seelstrang, Peter Van Dooren, Juan Jose Garcia, Akinobu Mitzutani,
Yuqian Jiang, Tatsuya Matsushima, Riccardo Polvara
\enquote{Robocup@Home \YEAR: Competition organization document,}
\url{https://github.com/RoboCupAtHome/RuleBook/releases/download/2024.1/organization.pdf}, \YEAR.
\begin{center}
\begin{minipage}{0.8\textwidth}
\footnotesize%
\verbatiminput{citation_organization.bib}
\end{minipage}
\end{center}
\pagebreak
================================================
FILE: pages/organization/documentinfo.tex
================================================
%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{
pdftitle = {RoboCup@Home Rules and Regulations on the organization of the competition},
pdfsubject = {RoboCup@Home Organization},
pdfauthor = {RoboCup@Home Technical Committee},
pdfkeywords = {RoboCup, @Home, Rules, Competition},
colorlinks = true,
anchorcolor = blue,
linkcolor = blue,
urlcolor = blue,
}
================================================
FILE: pages/organization/titlepage.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: titlepage.tex 428 2013-04-30 10:01:14Z holz $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Title page for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\begin{center}
{
\includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg}
\hfill
\includegraphics[width=.25\textwidth]{images/logo_RoboCupAtHome.jpg}\\[1.23ex]
}
\vspace{2.7 cm}
\hrulefill\par
{%
\vspace*{.27cm}
\Huge{RoboCup@Home}\\[1.23ex]
\Large Rules \& Regulations on the organization of the competition \\[2ex]
}
\hrulefill\par
\vfill
~~ Version: \YEAR ~~Rev-\svnRevision ~~ \\
~~ Last Build Date: \today \quad Time: \the\time ~~ \\
~~ Last Revision Date: \svnChangeData ~~ %\\
%\vfill
\end{center}
\end{titlepage}
================================================
FILE: pages/roadmap/CompetitionConcepts.tex
================================================
\chapter{Concepts Behind the Competition}\label{chap:concepts}
A set of conceptual key criteria forms the foundation of the \textsc{\AtHome{}} competition.
These criteria represent a shared understanding of the general concept of the competition.
The specific rules are detailed in the \AtHome{} Rules \& Regulations.
\section{Lean Set of Rules}\label{concept:lean_set_of_rules}
To enable diverse, general, and transmissible approaches in the \AtHome{} competition, the rule set should be as concise as possible
However, it must also be specific enough to eliminate ambiguity and prevent disagreements during the competition.
If discrepancies or multiple interpretations arise, decisions will be made by the \TC{} and on-site referees.
\paragraph*{Note:} Once the test scoresheet is signed the \TC{}'s decision is final and cannot be reversed.
\section{Autonomy \& Mobility}\label{concept:autonomy_and_mobility}
The aim of \AtHome{} is to foster mobile autonomous service robotics and natural human-robot interaction.
Thus, all robots participating in the RoboCup@Home competition must be \emph{mobile} and \emph{autonomous}, meaning that humans are not allowed to directly (remotely) control the robot, including through verbal commands.
\section{Aiming for Applications}\label{concept:aiming_for_applications}
To drive technological advancement and maintain the competition's interest, the scenario and the tests will steadily increase in complexity.
While fundamental abilities are tested, the focus will shift toward real-world applications with higher levels of complexity and uncertainty.
In \AtHome{}, solutions that are practical, reliable, general, cost-effective, and applicable are highly valued.
\section{Social Relevance}\label{concept:social_relevance}
The competition and its tests should produce outcomes that are socially relevant, as the goal is to demonstrate the value of autonomous robotic applications to the public.
This should be achieved by showing applications where robots directly help or assist humans in everyday situations, like a personal robot assistant.
\section{Scientific Value}\label{concept:scientific_value}
\AtHome{} should not only highlight current practical applications, but also encourage the presentation of innovative approaches, even if they are not yet fully applicable or require special configurations.
Therefore, approaches with high scientific value are rewarded.
\section{Time Constraints}\label{concept:time_constraints}
To accommodate many teams and tests, as well as to promote simplicity in setup procedures, the setup time and test duration are very limited.
\section{No Standardized Scenario}\label{concept:no_standardized_scenario}
The competition scenario should be simple, effective, available worldwide, and low-cost.
As uncertainty is a key part of the competition, no standardized scenario will be provided.
Instead, the scenario is expected to reflect typical environments of the country where the competition is held.
It could be a domestic setting like a living room or kitchen, or an office, supermarket, or restaurant. The scenario may change annually to ensure the tests remain relevant and engaging. Additionally, tests may occur in previously unknown environments, such as nearby public spaces.
\section{Attractiveness}\label{concept:attractiveness}
The competition should be appealing to both the audience and the public. Thus, approaches that are highly attractive and original are rewarded.
\section{Community}\label{concept:community}
While teams compete against each other during the competition, members of the \AtHome{} league are expected to collaborate and share knowledge to advance robotic technology collectively.
The \iterm{RoboCup@Home mailing list} and the \RR{} can be used to communicate with other teams and discuss league-specific issues such as rule changes or proposals for new tests.
% Since 2007 there is also the \iterm{RoboCup@Home Wiki} (see~\refsec{sec:at_home_wiki}) which serves as a central place to collect information relevant for the @Home league.
Additionally, every team is expected to share technical, scientific, and team-related information in a Team Description Paper and on their team website.
Finally, all teams are invited to submit papers on related research to the \Symp{}, which accompanies the annual RoboCup World Championship.
\section{Desired Abilities}\label{concept:desired_abilities}
The following are the key technical abilities that the tests in \AtHome{} aim to evaluate
\begin{itemize}
\item Navigation in dynamic environments
\item Fast and easy calibration and setup (the ultimate goal is to have a robot up and running out of the box)
\item Object recognition
\item Object manipulation
\item Detection and recognition of humans
\item Natural human-robot interaction
\item Speech recognition
\item Gesture recognition
\item Robot applications (\AtHome{} is aiming for applications of robots in daily life)
\item Ambient intelligence, such as communicating with surrounding devices, retrieving information from the internet, etc.
\end{itemize}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/roadmap/acknowledgments.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: acknowledgments.tex 404 2013-02-15 08:51:20Z sugiura $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Acknowledgments for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{About this document}
This document presents the vision behind the RoboCup@Home competition. It also plots out the way the competition will evolve in the future.
This document has been written by the \YEAR ~RoboCup@Home Technical Committee.
\section*{How to cite this document}
If you refer to RoboCup@Home and this document in particular, please cite:\\
\noindent Justin Hart, Mauricio Matamoros, Alexander Moriarty, Hiroyuki Okada,
Matteo Leonetti, Alex Mitrevski, Katarzyna Pasternak, and Fagner Pimentel
\enquote{Robocup@Home \YEAR: Roadmap,}
\url{https://athome.robocup.org/rules/\YEAR_roadmap.pdf}, \YEAR.
\begin{center}
\begin{minipage}{0.8\textwidth}
\footnotesize%
\verbatiminput{citation.bib}
\end{minipage}
\end{center}
\section*{Acknowledgments}
\label{sec:acknowledgments}
We would like to thank the members of the Technical Committee who put up the rules and the Organizing Committee who organizes the competition.
People that have been working on this document as members of one of the league's committees (in alphabetical order):
\begin{center}
\begin{minipage}{0.8\textwidth}
\begin{multicols}{3}%
\footnotesize
\noindent%
Adam Golding\\
Akinobu Mizutani\\
Alex Mitrevski\\
Alexander Moriarty\\
Caleb Rascon\\
Fagner Pimentel\\
Florian Lier\\
Hiroyuki Okada\\
Johannes Kummert\\
Justin Hart\\
Katarzyna Pasternak\\
Komei Sugiura\\
Loy van Beek\\
Luca Iocchi\\
Luca Lach\\
Luis Contreras\\
Matteo Leonetti\\
Mauricio Matamoros\\
Maxime St-Pierre\\
Peter van Dooren\\
Raphael Memmesheimer\\
Sammy Pfeiffer\\
Sebastian Meyer zu Borgsen\\
Sven Wachsmuth\\
Tijn van der Zant\\
Yuma Yoshimoto
\end{multicols}
\end{minipage}
\end{center}
\noindent We would also like to thank all the people who contributed to the RoboCup@Home league with their feedback and comments.
People that have been working on this document as members of the league (in alphabetical order):
\begin{center}
\begin{minipage}{0.8\textwidth}
\begin{multicols}{2}%
\footnotesize
\noindent%
Lars Janssen\\
Mark Finean\\
Matthijs van der Burgh\\
Syed Ali Raza\\
\end{multicols}
\end{minipage}
\end{center}
================================================
FILE: pages/roadmap/documentinfo.tex
================================================
%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{
pdftitle = {RoboCup@Home Roadmap},
pdfsubject = {RoboCup@Home Roadmap},
pdfauthor = {RoboCup@Home Executive Committee},
pdfkeywords = {RoboCup, @Home, Competition},
colorlinks = true,
anchorcolor = blue,
linkcolor = blue,
urlcolor = blue,
}
================================================
FILE: pages/roadmap/titlepage.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: titlepage.tex 428 2013-04-30 10:01:14Z holz $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Title page for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\begin{center}
{
\includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg}
\hfill
\includegraphics[width=.25\textwidth]{images/logo_RoboCupAtHome.jpg}\\[1.23ex]
}
\vspace{2.7 cm}
\hrulefill\par
{%
\vspace*{.27cm}
\Huge{RoboCup@Home}\\[1.23ex]
\Large Roadmap \\[2ex]
}
\hrulefill\par
\vfill
~~ Version: \YEAR ~~Rev-\svnRevision ~~ \\
~~ Last Build Date: \today \quad Time: \the\time ~~ \\
~~ Last Revision Date: \svnChangeData ~~ %\\
%\vfill
\end{center}
\end{titlepage}
================================================
FILE: pages/rulebook/GeneralRules.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: general_rules.tex 420 2013-04-08 15:30:35Z holz $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: description of the GENERAL RULES
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{General Rules and Regulations}\label{chap:rules}
These are the general rules and regulations for the competition in the \RoboCup\AtHome{} league.
Each rule in this section implicitly includes the phrase \emph{\enquote{unless stated otherwise}}.
This means that any additional or contrary rules, particularly those related to test specifications, take precedence over the rules stated in this section.
\input{pages/general_rules/TeamRegistration}
%\input{pages/general_rules/vizbox}
\input{pages/general_rules/Scenario}
\input{pages/general_rules/Robots}
\input{pages/general_rules/ExternalDevices}
\input{pages/general_rules/Organization}
\input{pages/general_rules/Procedure}
\input{pages/general_rules/ContinueRules}
\input{pages/general_rules/PenaltiesBonuses}
\input{pages/general_rules/ScoringInteraction}
\input{pages/general_rules/OpenChallenge}
%\input{pages/general_rules/ManipulationChallenge}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/rulebook/Introduction.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Introduction
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Introduction}
\label{chap:introduction}
\section{RoboCup}
\RoboCup{} is an international joint project to promote AI, robotics, and related fields.
It is an attempt to foster AI and intelligent-robotics research by providing standard problems where a wide range of technologies can be integrated and examined. More information can be found at \url{http://www.robocup.org/}.
\section{RoboCup@Home}
The \textsc{RoboCup@Home} league aims to develop service and assistive robot technology with high relevance for future personal domestic applications.
It is the largest international annual competition for autonomous service robots and is part of the RoboCup initiative.
A set of benchmark tests is used to evaluate the abilities and performance of different robots in a realistic, non-standardized home environment setting.
The focus is on, but is not limited to, the following domains: human-robot interaction and cooperation, navigation and mapping in dynamic environments, computer vision and object recognition under natural light conditions, object manipulation, adaptive behaviors, behavior integration, ambient intelligence, standardization and system integration.
The competition is co-located with the RoboCup symposium.
\input{pages/introduction/Organization}
\input{pages/introduction/Infrastructure}
\input{pages/introduction/Leagues}
\input{pages/introduction/Competition}
\input{pages/introduction/Awards}
% Local Variables:
% TeX-master: "Rulebook"
% End:
================================================
FILE: pages/rulebook/about.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: about.tex
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: About for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{About this rulebook}
This is the official rulebook of the RoboCup@Home competition \YEAR.
The rulebook has been written by the \YEAR ~RoboCup@Home Technical Committee.
\section*{How to cite this rulebook}
If you refer to RoboCup@Home and this rulebook in particular, please cite:\\
\noindent Justin Hart, Alexander Moriarty, Katarzyna Pasternak, Johannes Kummert, Matteo Leonetti, Luis Contreras,
Leroy Ruegemer, Akinobu Mitzutani, Tiago Ribeiro, Adam Golding, Taewoong Kang, Fagner Pimentel,
\enquote{Robocup@Home \YEAR: Rule and regulations,}
\url{https://github.com/RoboCupAtHome/RuleBook/releases/download/2026.1/rulebook.pdf}, \YEAR.
\begin{center}
\begin{minipage}{0.8\textwidth}
\footnotesize%
\verbatiminput{citation.bib}
\end{minipage}
\end{center}
\pagebreak
================================================
FILE: pages/rulebook/documentinfo.tex
================================================
%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{
pdftitle = {RoboCup@Home Rules and Regulations},
pdfsubject = {RoboCup@Home Rulebook},
pdfauthor = {RoboCup@Home Technical Committee},
pdfkeywords = {RoboCup, @Home, Rules, Competition},
colorlinks = true,
anchorcolor = blue,
linkcolor = blue,
urlcolor = blue,
}
================================================
FILE: pages/rulebook/titlepage.tex
================================================
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% $Id: titlepage.tex 428 2013-04-30 10:01:14Z holz $
%% author(s): RoboCupAtHome Technical Committee(s)
%% description: Title page for the RoboCupAtHome RuleBook
%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\begin{center}
{
\includegraphics[width=.25\textwidth]{images/logo_RoboCupFed.jpg}
\hfill
\includegraphics[width=.25\textwidth]{images/logo_RoboCupAtHome.jpg}\\[1.23ex]
}
\vspace{2.7 cm}
\hrulefill\par
{%
\vspace*{.27cm}
\Huge{RoboCup@Home}\\[1.23ex]
\Large Rules \& Regulations \\[2ex]
}
\hrulefill\par
\vfill
~~ Version: \YEAR ~~Rev-\svnRevision ~~ \\
~~ Last Build Date: \today \quad Time: \the\time ~~ \\
~~ Last Revision Date: \svnChangeData ~~ %\\
%\vfill
\end{center}
\end{titlepage}
================================================
FILE: pages/scoresheets/registration_form.tex
================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
gitextract_iaz7sjfm/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.md
│ │ ├── question.md
│ │ └── suggestion.md
│ ├── code_of_conduct.md
│ ├── contributing.md
│ ├── dependabot.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── ci.yml
│ └── release.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── LICENSE.CC-BY-SA-4.0
├── LICENSE.GPL-2.0
├── Makefile
├── README.md
├── build.sh
├── citation.bib
├── documents/
│ ├── organization.tex
│ ├── roadmap.tex
│ ├── rulebook.tex
│ └── scoresheets.tex
├── images/
│ └── standard_QR_codes.tex
├── latexmkrc
├── pages/
│ ├── Appendices.tex
│ ├── LeagueRequirements.tex
│ ├── acknowledgments.tex
│ ├── example_skills.tex
│ ├── general_rules/
│ │ ├── AudienceInteraction.tex
│ │ ├── ContinueRules.tex
│ │ ├── ExternalDevices.tex
│ │ ├── OpenChallenge.tex
│ │ ├── Organization.tex
│ │ ├── PenaltiesBonuses.tex
│ │ ├── Procedure.tex
│ │ ├── Robots.tex
│ │ ├── Scenario.tex
│ │ ├── ScoringInteraction.tex
│ │ ├── TeamRegistration.tex
│ │ └── vizbox.tex
│ ├── introduction/
│ │ ├── Awards.tex
│ │ ├── Competition.tex
│ │ ├── Infrastructure.tex
│ │ ├── Leagues.tex
│ │ └── Organization.tex
│ ├── organization/
│ │ ├── GeneralRules.tex
│ │ ├── Introduction.tex
│ │ ├── Setup.tex
│ │ ├── about.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ ├── roadmap/
│ │ ├── CompetitionConcepts.tex
│ │ ├── acknowledgments.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ ├── rulebook/
│ │ ├── GeneralRules.tex
│ │ ├── Introduction.tex
│ │ ├── about.tex
│ │ ├── documentinfo.tex
│ │ └── titlepage.tex
│ └── scoresheets/
│ └── registration_form.tex
├── scoresheets/
│ ├── DoingLaundry.tex
│ ├── Finals.tex
│ ├── GPSR.tex
│ ├── HumanRobotInteractionChallenge.tex
│ ├── OpenChallenge.tex
│ ├── PickAndPlaceChallenge.tex
│ ├── PosterSession.tex
│ ├── Restaurant.tex
│ └── old/
│ ├── CleanTable.tex
│ ├── CleanUp.tex
│ ├── CocktailParty.tex
│ ├── EGPSR.tex
│ ├── Farewell.tex
│ ├── FinalsExec.tex
│ ├── FinalsJury.tex
│ ├── FindMyDisk.tex
│ ├── FindMyMates.tex
│ ├── GiveMeAHand.tex
│ ├── HandMeThat.tex
│ ├── HelpMeCarry.tex
│ ├── PnG.tex
│ ├── Receptionist.tex
│ ├── SPR.tex
│ ├── ServeBreakfast.tex
│ ├── ServingDrinks.tex
│ ├── SetTable.tex
│ ├── SmoothieChef.tex
│ ├── SticklerForRules.tex
│ ├── StoringGroceries.tex
│ ├── TakeOutGarbage.tex
│ ├── TidyUp.tex
│ ├── TourGuide.tex
│ └── WhereIsThis.tex
├── setup/
│ ├── abbrevix.tex
│ ├── active_version.tex
│ ├── config.tex
│ ├── macros.tex
│ ├── macros_leagues.tex
│ ├── macros_open_demonstrations.tex
│ ├── macros_scoresheets.tex
│ ├── packages.tex
│ ├── packages_scoresheets.tex
│ └── styling.tex
├── styles/
│ ├── bar.sty
│ └── tweaklist.sty
├── tasks/
│ ├── DoingLaundry.tex
│ ├── Finals.tex
│ ├── GPSR.tex
│ ├── HumanRobotInteractionChallenge.tex
│ ├── PickAndPlaceChallenge.tex
│ ├── Restaurant.tex
│ └── old/
│ ├── CleanTable.tex
│ ├── CleanUp.tex
│ ├── CocktailParty.tex
│ ├── EEGPSR.tex
│ ├── EGPSR.tex
│ ├── Farewell.tex
│ ├── FindMyDisk.tex
│ ├── FindMyMates.tex
│ ├── GiveMeAHand.tex
│ ├── HandMeThat.tex
│ ├── HelpMeCarry.tex
│ ├── OpenChallenge.tex
│ ├── PnG.tex
│ ├── Receptionist.tex
│ ├── SPR.tex
│ ├── ServeBreakfast.tex
│ ├── ServingDrinks.tex
│ ├── SetTable.tex
│ ├── SmoothieChef.tex
│ ├── SticklerForRules.tex
│ ├── StoringGroceries.tex
│ ├── TakeOutGarbage.tex
│ ├── ThemedFinals.tex
│ ├── TidyUp.tex
│ ├── TourGuide.tex
│ ├── WhatisThat.tex
│ └── WhereIsThis.tex
└── teams/
└── teams.tex
Condensed preview — 141 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (501K chars).
[
{
"path": ".gitattributes",
"chars": 108,
"preview": "#* text=auto\n*.tex diff=tex\n*.jpg binary\n*.png binary\n*.pdf binary\n*.svg binary\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug.md",
"chars": 676,
"preview": "---\nname: Bug\nabout: Report a problem with the Rulebook.\ntitle: ''\nlabels: Bug\nassignees: ''\n---\n\n## Describe the bug\nA "
},
{
"path": ".github/ISSUE_TEMPLATE/question.md",
"chars": 1339,
"preview": "---\nname: Question\nabout: Ask about something you don't understand.\ntitle: 'Q: [3-5 words encapsulating your question]'\n"
},
{
"path": ".github/ISSUE_TEMPLATE/suggestion.md",
"chars": 549,
"preview": "---\nname: Idea\nabout: Suggest an idea for the rulebook.\ntitle: ''\nlabels: Idea\nassignees: ''\n---\n\n## Is your idea/sugges"
},
{
"path": ".github/code_of_conduct.md",
"chars": 3134,
"preview": "## RoboCup Federation Code of Conduct\n \nApproved April 2019\n\nThe RoboCup Federation (RCF) coordinates a variety of compe"
},
{
"path": ".github/contributing.md",
"chars": 3434,
"preview": "Thanks for considering contributing! The league only exists with the support of the community.\n\n## How Can I Contribute?"
},
{
"path": ".github/dependabot.yml",
"chars": 117,
"preview": "version: 2\nupdates:\n - package-ecosystem: \"github-actions\"\n directory: \"/\"\n schedule:\n interval: \"daily\"\n"
},
{
"path": ".github/pull_request_template.md",
"chars": 396,
"preview": "** Note: Your contribution is expected to meet the conventions and policies described in the [contribution guidelines](h"
},
{
"path": ".github/workflows/ci.yml",
"chars": 3114,
"preview": "name: CI\n\non: [push, pull_request]\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@d"
},
{
"path": ".github/workflows/release.yml",
"chars": 1361,
"preview": "name: Release\n\non:\n push:\n tags:\n - '*'\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - uses: acti"
},
{
"path": ".gitignore",
"chars": 218,
"preview": ".build\n.vscode\n\n*.aux\n*.glo\n*.idx\n*.log\n*.toc\n*.ist\n*.acn\n*.acr\n*.alg\n*.bbl\n*.blg\n*.dvi\n*.glg\n*.gls\n*.ilg\n*.ind\n*.lof\n*."
},
{
"path": "CHANGELOG.md",
"chars": 12249,
"preview": "# Changelog\n\n[Current Draft]: https://github.com/RoboCupAtHome/RuleBook/compare/2025.1..HEAD\n[2026.1]: https://github.co"
},
{
"path": "LICENSE",
"chars": 235,
"preview": "The content of this project itself is licensed under the Creative Commons \nAttribution Share Alike 4.0 International lic"
},
{
"path": "LICENSE.CC-BY-SA-4.0",
"chars": 20134,
"preview": "Attribution-ShareAlike 4.0 International\n\n=======================================================================\n\nCreat"
},
{
"path": "LICENSE.GPL-2.0",
"chars": 14829,
"preview": "GNU GENERAL PUBLIC LICENSE\nVersion 2, June 1991\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc. \n51 Franklin St"
},
{
"path": "Makefile",
"chars": 1527,
"preview": ".SUFFIXES:\nROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))\nBUILD_DIR:=$(ROOT_DIR)/.build\n\n## TOOLS\n"
},
{
"path": "README.md",
"chars": 5748,
"preview": "RuleBook for RoboCup @Home 2026\n===============================\n\n[;\nadd_cus_dep('acn', 'acr', 0, 'run_"
},
{
"path": "pages/Appendices.tex",
"chars": 438,
"preview": "\\begin{appendix}\n\\renewcommand*{\\chapterformat}{\\LARGE{Appendix \\thechapter}}\n\\renewcommand{\\chaptermark}[1]{\\markboth{\\"
},
{
"path": "pages/LeagueRequirements.tex",
"chars": 9678,
"preview": "\\chapter{League Requirements}\\label{chap:league-requirements}\n\n\\section{Competition Area}\n\n\\subsection{Arena Information"
},
{
"path": "pages/acknowledgments.tex",
"chars": 2024,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: acknowledgments.tex 4"
},
{
"path": "pages/example_skills.tex",
"chars": 2957,
"preview": "\\chapter{Example Skills}\n\\label{chap:example-skills}\n\nThe following section presents a list of \\iterm{Example Skills} wi"
},
{
"path": "pages/general_rules/AudienceInteraction.tex",
"chars": 788,
"preview": "\\section{Audience Interaction}\\label{sec:rules:audience}\nOnly some tests require direct interaction with the audience. I"
},
{
"path": "pages/general_rules/ContinueRules.tex",
"chars": 7319,
"preview": "\\section[Human Assistance]{Bypassing Features With Human Help \\\\ \\small Because the Show Must Go On}\\label{rule:continue"
},
{
"path": "pages/general_rules/ExternalDevices.tex",
"chars": 2976,
"preview": "\\section{External devices}\\label{rule:robot_external_devices}\n\nEverything that a team uses during a test and is not part"
},
{
"path": "pages/general_rules/OpenChallenge.tex",
"chars": 1602,
"preview": "\\section{Open Challenge}\\label{sec:rules:openchallenge}\n\nOn the first two competition days after the end of the regular "
},
{
"path": "pages/general_rules/Organization.tex",
"chars": 6386,
"preview": "\\section{Organization of the Competition}\\label{sec:procedure_during_competition}\n\n\\subsection{Competition Structure}\\la"
},
{
"path": "pages/general_rules/PenaltiesBonuses.tex",
"chars": 2316,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\\newcommand{\\penaltybig}{500~}\n\\newcommand{\\penaltysmall}{250~"
},
{
"path": "pages/general_rules/Procedure.tex",
"chars": 11133,
"preview": "\\section{Procedure during Tests}\n\n\\subsection{Safety First!}\\label{rule:safetyfirst}\n\n\\begin{enumerate}\n\t\\item \\textbf{E"
},
{
"path": "pages/general_rules/Robots.tex",
"chars": 4025,
"preview": "\\section{Robots}\\label{rule:robots}\n\n\\subsection{Number of Robots}\\label{rule:robots_number}\n\n\\begin{enumerate}\n\t\\item \\"
},
{
"path": "pages/general_rules/Scenario.tex",
"chars": 11355,
"preview": "\\section{Scenario}\\label{sec:scenario}\n\nMost competition tests take place in the \\RoboCup\\AtHome{} \\Arena, but some test"
},
{
"path": "pages/general_rules/ScoringInteraction.tex",
"chars": 709,
"preview": "\\section{Scoring Human Robot Interaction}\\label{sec:rules:hri}\nIn some tests, the robot is required to interact with vol"
},
{
"path": "pages/general_rules/TeamRegistration.tex",
"chars": 6021,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\\section{Team Registration and Qualification}\n\n\n\\subsection{Re"
},
{
"path": "pages/general_rules/vizbox.tex",
"chars": 1615,
"preview": "\\section{Audience interaction}\\label{rule:vizbox}\n\nPart of making \\RoboCup\\AtHome{} appealing is to show the audience wh"
},
{
"path": "pages/introduction/Awards.tex",
"chars": 4515,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/introduction/Competition.tex",
"chars": 616,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/introduction/Infrastructure.tex",
"chars": 2183,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/introduction/Leagues.tex",
"chars": 1051,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/introduction/Organization.tex",
"chars": 1599,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technical"
},
{
"path": "pages/organization/GeneralRules.tex",
"chars": 1268,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: general_rules.tex 420"
},
{
"path": "pages/organization/Introduction.tex",
"chars": 545,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/organization/Setup.tex",
"chars": 9550,
"preview": "\\chapter{Setup and Preparation}\\label{chap:setup_and_preparation}\n\nPrior to the RoboCup@Home competition, all arriving t"
},
{
"path": "pages/organization/about.tex",
"chars": 1505,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: about.tex \n%% auth"
},
{
"path": "pages/organization/documentinfo.tex",
"chars": 427,
"preview": "%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\\hypersetup{\n\tpdftitle = {RoboCup@Ho"
},
{
"path": "pages/organization/titlepage.tex",
"chars": 977,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: titlepage.tex 428 201"
},
{
"path": "pages/roadmap/CompetitionConcepts.tex",
"chars": 5194,
"preview": "\\chapter{Concepts Behind the Competition}\\label{chap:concepts}\n\nA set of conceptual key criteria forms the foundation of"
},
{
"path": "pages/roadmap/acknowledgments.tex",
"chars": 2577,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: acknowledgments.tex 4"
},
{
"path": "pages/roadmap/documentinfo.tex",
"chars": 362,
"preview": "%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\\hypersetup{\n\tpdftitle = {RoboCup@Ho"
},
{
"path": "pages/roadmap/titlepage.tex",
"chars": 925,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: titlepage.tex 428 201"
},
{
"path": "pages/rulebook/GeneralRules.tex",
"chars": 1310,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: general_rules.tex 420"
},
{
"path": "pages/rulebook/Introduction.tex",
"chars": 1737,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% author(s): RoboCupAtHome Technic"
},
{
"path": "pages/rulebook/about.tex",
"chars": 1092,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: about.tex \n%% auth"
},
{
"path": "pages/rulebook/documentinfo.tex",
"chars": 384,
"preview": "%%% DOCUMENTINFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\\hypersetup{\n\tpdftitle = {RoboCup@Ho"
},
{
"path": "pages/rulebook/titlepage.tex",
"chars": 938,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: titlepage.tex 428 201"
},
{
"path": "pages/scoresheets/registration_form.tex",
"chars": 3271,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: registration_form.te"
},
{
"path": "scoresheets/DoingLaundry.tex",
"chars": 1561,
"preview": "\\begin{scorelist}[timelimit=7]\n \\scoreheading{Main Goal}\n \\scoreitem{15}{Navigating to the laundry area}\n \\"
},
{
"path": "scoresheets/Finals.tex",
"chars": 1432,
"preview": "\\begin{scorelist}[timelimit=10,attempts=1,outstanding=False,continue=False, specialpenbonus=False]\n\t\\scoreheading{Main G"
},
{
"path": "scoresheets/GPSR.tex",
"chars": 732,
"preview": "\\begin{scorelist}[timelimit=7]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[3]{80}{Understand the spoken command}\n\t\t\\scorepen[3"
},
{
"path": "scoresheets/HumanRobotInteractionChallenge.tex",
"chars": 1723,
"preview": "\\begin{scorelist}[startbutton=false,timelimit=7]\n\t\\scoreheading{Greeting}\n\t\\scoreitem[2]{30}{Detect the doorbell sound a"
},
{
"path": "scoresheets/OpenChallenge.tex",
"chars": 1520,
"preview": "\\paragraph{Instructions:}\n\\begin{compactenum}\n\\item Please watch all demonstrations carefully.\n\\item At the end of the d"
},
{
"path": "scoresheets/PickAndPlaceChallenge.tex",
"chars": 1868,
"preview": "\\begin{scorelist}[timelimit=7]\n\n\t\\scoreitem{15}{Navigate to the table}\n\t\\scoreitem[12]{10}{Correctly recognize an object"
},
{
"path": "scoresheets/PosterSession.tex",
"chars": 991,
"preview": "\\paragraph{Instructions:}\n\\begin{compactenum}\n\\item Please watch all posters carefully.\n\\item There will be a team membe"
},
{
"path": "scoresheets/Restaurant.tex",
"chars": 1408,
"preview": "\\small\\begin{scorelist}[timelimit=15]\n\t\\scoreheading{Regular Rewards}\t\n\t\\scoreitem[2]{80}{Detect calling or waving custo"
},
{
"path": "scoresheets/old/CleanTable.tex",
"chars": 1566,
"preview": "\\begin{scorelist}[timelimit=10]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{15}{Navigate to the table to pick up items}\n\t\\scor"
},
{
"path": "scoresheets/old/CleanUp.tex",
"chars": 898,
"preview": "\n\\begin{table}[h]\n\t\\begin{tabular}{m{0.85\\linewidth} c}\n\t\t\\textbf{Maximum time}: & 5 minutes \\\\\n\t\\end{tabular}\n\\end{tabl"
},
{
"path": "scoresheets/old/CocktailParty.tex",
"chars": 1321,
"preview": "The maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Taking the orders} % 90 = 30 + 30 + 15 + "
},
{
"path": "scoresheets/old/EGPSR.tex",
"chars": 1060,
"preview": "\\begin{scorelist}[timelimit=10]\n\t\\scoreheading{Main Goal (can be repeated unlimited times)}\n\t\\scoreitem[3]{150}{Find and"
},
{
"path": "scoresheets/old/Farewell.tex",
"chars": 826,
"preview": "\nThe maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[2]{200}{Each gues"
},
{
"path": "scoresheets/old/FinalsExec.tex",
"chars": 1370,
"preview": "\\paragraph{Instructions:}\n\\begin{compactenum}\n\\item Please watch all demonstrations carefully.\n\\item At the end of the d"
},
{
"path": "scoresheets/old/FinalsJury.tex",
"chars": 1172,
"preview": "\\paragraph{Instructions:}\n\\begin{compactenum}\n\\item Please watch all demonstrations carefully.\n\\item At the end of the d"
},
{
"path": "scoresheets/old/FindMyDisk.tex",
"chars": 454,
"preview": "The maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{600}{Provide an ac"
},
{
"path": "scoresheets/old/FindMyMates.tex",
"chars": 799,
"preview": "\nThe maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[2]{100}{Report a "
},
{
"path": "scoresheets/old/GiveMeAHand.tex",
"chars": 768,
"preview": "\\begin{scorelist}[timelimit=10]\n\n\t\\scoreheading{Regular Rewards}\n\t\\scoreitem{100}{Approach a calling operator}\t\n\t\\scorei"
},
{
"path": "scoresheets/old/HandMeThat.tex",
"chars": 2086,
"preview": "\nThe maximum time for this test is 10 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[5]{400}{Correctl"
},
{
"path": "scoresheets/old/HelpMeCarry.tex",
"chars": 1172,
"preview": "\\begin{scorelist}[timelimit=5]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{300}{Following the person to the car}\n\t\\scoreitem{1"
},
{
"path": "scoresheets/old/PnG.tex",
"chars": 1252,
"preview": "The maximum time for this test is \\textbf{10 minutes}.\n\n\\begin{scorelist}\n\t\\scoreheading{Opening the dishwasher} %50 pts"
},
{
"path": "scoresheets/old/Receptionist.tex",
"chars": 1272,
"preview": "\\begin{scorelist}[startbutton=false,timelimit=6]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[2]{100}{Offer a free seat to the "
},
{
"path": "scoresheets/old/SPR.tex",
"chars": 3082,
"preview": "The maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\n\t\\scoreheading{Crowd} % Max 15 points\n\t\\scoreitem{ 5}{S"
},
{
"path": "scoresheets/old/ServeBreakfast.tex",
"chars": 1050,
"preview": "\\begin{scorelist}[timelimit=5]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{15}{Initial navigation to pick up area}\n\t\\scoreitem"
},
{
"path": "scoresheets/old/ServingDrinks.tex",
"chars": 991,
"preview": "The maximum time for this test is \\textbf{5 minutes}.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[3]{50}{Ap"
},
{
"path": "scoresheets/old/SetTable.tex",
"chars": 666,
"preview": "The maximum time for this test is 10 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{100}{Open the dra"
},
{
"path": "scoresheets/old/SmoothieChef.tex",
"chars": 938,
"preview": "The maximum time for this test is 10 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[3]{200}{Placing a"
},
{
"path": "scoresheets/old/SticklerForRules.tex",
"chars": 840,
"preview": "\\begin{scorelist}[timelimit=10]\n\n\t\\scoreheading{Regular Rewards}\t\n\t\\scoreitem[4]{100}{Identify a guest breaking a house "
},
{
"path": "scoresheets/old/StoringGroceries.tex",
"chars": 1745,
"preview": "\\begin{scorelist}[timelimit=7]\n\t\\scoreheading{Main Goal}\n\t\\scoreitem{15}{Navigating to the table}\n\t\\scoreitem[5]{15}{Per"
},
{
"path": "scoresheets/old/TakeOutGarbage.tex",
"chars": 667,
"preview": "\\begin{table}[h]\n\t\\begin{tabular}{m{0.85\\linewidth} c}\n\t\t\\textbf{Maximum time}: & 5 minutes \\\\\n\t\\end{tabular}\n\\end{table"
},
{
"path": "scoresheets/old/TidyUp.tex",
"chars": 684,
"preview": "\nThe maximum time for this test is 5 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[5]{100}{Moving an"
},
{
"path": "scoresheets/old/TourGuide.tex",
"chars": 981,
"preview": "The maximum time for this test is \\textbf{10 minutes}.\n\n\\begin{scorelist}\n\t\\scoreheading{Engaging spectators} % Max 50\n\t"
},
{
"path": "scoresheets/old/WhereIsThis.tex",
"chars": 787,
"preview": "\nThe maximum time for this test is 10 minutes.\n\n\\begin{scorelist}\n\t\\scoreheading{Main Goal}\n\t\\scoreitem[3]{100}{Describi"
},
{
"path": "setup/abbrevix.tex",
"chars": 4758,
"preview": "%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: abbrevix.tex 373 2013"
},
{
"path": "setup/active_version.tex",
"chars": 83,
"preview": "\\newcommand{\\YEAR}{2026}\n\\newcommand{\\STATE}{Final}\n%\\newcommand{\\STATE}{Final}\n%\n\n"
},
{
"path": "setup/config.tex",
"chars": 1518,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: config.tex 2019-01-0"
},
{
"path": "setup/macros.tex",
"chars": 7609,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: macros.tex 399 2013-"
},
{
"path": "setup/macros_leagues.tex",
"chars": 2073,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: macros_leagues.tex 3"
},
{
"path": "setup/macros_open_demonstrations.tex",
"chars": 1338,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: macros_open_demonstr"
},
{
"path": "setup/macros_scoresheets.tex",
"chars": 20128,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n% Macros for generating score sheets for RoboCup@Ho"
},
{
"path": "setup/packages.tex",
"chars": 2003,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: packages.tex 385 201"
},
{
"path": "setup/packages_scoresheets.tex",
"chars": 825,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: packages_scoresheets"
},
{
"path": "setup/styling.tex",
"chars": 1143,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%\n%% $Id: styling.tex 2019-01-"
},
{
"path": "styles/bar.sty",
"chars": 17910,
"preview": "% BAR.STY --- Style File zum Setzen von Balkendiagrammen\n% Autor: J. Bleser, E. Lang\n% Hochschulreche"
},
{
"path": "styles/tweaklist.sty",
"chars": 1087,
"preview": "\\def\\enumhook{}\n\\def\\enumhooki{}\n\\def\\enumhookii{}\n\\def\\enumhookiii{}\n\\def\\enumhookiv{}\n\\def\\itemhook{}\n\\def\\itemhooki{}"
},
{
"path": "tasks/DoingLaundry.tex",
"chars": 5057,
"preview": "\\section{Doing Laundry Challenge}\\label{test:doing-laundry}\nThe robot assists with laundry by retrieving clothes from a "
},
{
"path": "tasks/Finals.tex",
"chars": 6076,
"preview": "\\chapter{Finals}\\label{test:final}\n\nThe competition ends with the Finals on the last day, where the top teams with the h"
},
{
"path": "tasks/GPSR.tex",
"chars": 5475,
"preview": "\\section{General Purpose Service Robot Challenge}\\label{test:gpsr}\n\nThe robot is asked to understand and execute command"
},
{
"path": "tasks/HumanRobotInteractionChallenge.tex",
"chars": 9856,
"preview": "\\section{Human Robot Interaction Challenge}\n\\label{test:human-robot-interaction-challenge}\n\n\\subsection*{Description}\nTh"
},
{
"path": "tasks/PickAndPlaceChallenge.tex",
"chars": 10583,
"preview": "\\section{Pick and Place Challenge}\n\\label{test:pick-and-place-challenge}\nThis challenge evaluates manipulation capabilit"
},
{
"path": "tasks/Restaurant.tex",
"chars": 7003,
"preview": "\\section{Restaurant Challenge}\\label{test:restaurant}\n\n\\subsection*{Description}\n\nThe robot is required to retrieve and "
},
{
"path": "tasks/old/CleanTable.tex",
"chars": 5523,
"preview": "\\section{Clean the Table}\\label{test:clean-the-table}\nThe robot cleans up a table after a meal. All dishes and cutlery m"
},
{
"path": "tasks/old/CleanUp.tex",
"chars": 2750,
"preview": "\\section{Clean Up [Housekeeper]}\n\\label{test:clean-up}\n\n\\subsection*{Description}\n\tThe robot has to clean up an \\Arena{}"
},
{
"path": "tasks/old/CocktailParty.tex",
"chars": 6649,
"preview": "\\section{Cocktail Party}\n\nThe robot has to learn and recognize previously unknown people, and fetch orders.\n\n\\subsection"
},
{
"path": "tasks/old/EEGPSR.tex",
"chars": 9987,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n%\r\n% EEGPSR\r\n%\r\n%%%%%%%%%%%%%%%%%%%%%%%%%"
},
{
"path": "tasks/old/EGPSR.tex",
"chars": 3573,
"preview": "\\section{Enhanced General Purpose Service Robot}\\label{test:egpsr}\nThe robot is asked to maintain the household by clean"
},
{
"path": "tasks/old/Farewell.tex",
"chars": 3820,
"preview": "\\section{Farewell [Party Host]}\n\\label{test:farewell}\n\n\\subsection*{Description}\n Some guests are tired, and they cal"
},
{
"path": "tasks/old/FindMyDisk.tex",
"chars": 4164,
"preview": "\\section{Find My Disk [Housekeeper]}\n\\label{test:find-my-disk}\n\n\\subsection*{Description}\n The robot helps a blind per"
},
{
"path": "tasks/old/FindMyMates.tex",
"chars": 2404,
"preview": "\\section{Find My Mates [Party Host]}\n\\label{test:find-my-mates}\n\n\\subsection*{Description}\n The robot collects some i"
},
{
"path": "tasks/old/GiveMeAHand.tex",
"chars": 4569,
"preview": "\\section{Give Me a Hand}\\label{test:give-me-a-hand}\n\n\\subsection*{Description}\nThe robot assists a human in organizing n"
},
{
"path": "tasks/old/HandMeThat.tex",
"chars": 3905,
"preview": "\\section{Hand Me That [Party Host]}\n\\label{test:hand-me-that}\nA guest at the party speaks English, but with only a limit"
},
{
"path": "tasks/old/HelpMeCarry.tex",
"chars": 4719,
"preview": "\\section{Help Me Carry}\\label{test:carry-my-luggage}\n\nThe robot's owner needs help carrying a bag from the car to the st"
},
{
"path": "tasks/old/OpenChallenge.tex",
"chars": 6157,
"preview": "\\newcommand{\\bonusRobotCoop}{50~}\n\n\\section{Open Challenge}\n\\label{sec:test_open_challenge}\n\nDuring the Open Challenge t"
},
{
"path": "tasks/old/PnG.tex",
"chars": 6433,
"preview": "\\section{Procter \\& Gamble Dishwasher Challenge [DSPL \\& OPL]}\n\n\\newcommand{\\openpart}{%\nAll teams are allowed to partic"
},
{
"path": "tasks/old/Receptionist.tex",
"chars": 5974,
"preview": "\\section{Receptionist}\\label{test:receptionist}\n\n\\subsection*{Description}\nThe robot has to guide two new guests to the "
},
{
"path": "tasks/old/SPR.tex",
"chars": 7641,
"preview": "\\section{Speech and Person Recognition}\nThe robot has to identify unknown people and answer questions about them and the"
},
{
"path": "tasks/old/ServeBreakfast.tex",
"chars": 3664,
"preview": "\\section{Serve Breakfast}\n\\label{test:serve-breakfast}\nThe robot has to set a table for breakfast for one person and pre"
},
{
"path": "tasks/old/ServingDrinks.tex",
"chars": 4604,
"preview": "\\section{Serving Drinks [Party Host]}\n\\label{test:serving-drinks}\nThe robot takes orders of drinks from party guests and"
},
{
"path": "tasks/old/SetTable.tex",
"chars": 3775,
"preview": "\\section{Set the Table [Housekeeper]}\n\\label{test:set-the-table}\nThe robot has to set the table for dinner for one perso"
},
{
"path": "tasks/old/SmoothieChef.tex",
"chars": 4574,
"preview": "\\section{Smoothie Chef (Placeholder)}\n\\label{test:smoothie-chef}\nThe home owner teaches the robot how to make a smoothie"
},
{
"path": "tasks/old/SticklerForRules.tex",
"chars": 3944,
"preview": "\\section{Stickler for the Rules}\n\\label{test:stickler-for-the-rules}\n\n\\subsection*{Description}\nThe robot needs to make "
},
{
"path": "tasks/old/StoringGroceries.tex",
"chars": 5397,
"preview": "\\section{Storing Groceries}\\label{test:storing-groceries}\nThe robot stores groceries into a cabinet with shelves. Object"
},
{
"path": "tasks/old/TakeOutGarbage.tex",
"chars": 2883,
"preview": "\\section{Take Out the Garbage}\n\\label{test:take-out-the-garbage}\n\n\\subsection*{Description}\n\tAll garbage bins in the \\Ar"
},
{
"path": "tasks/old/ThemedFinals.tex",
"chars": 5457,
"preview": "\\chapter{Finals}\n\nThe competition ends with the Finals on the last day, where the two teams with the highest total score"
},
{
"path": "tasks/old/TidyUp.tex",
"chars": 3107,
"preview": "\\section{Tidy Up}\n\\label{test:tidy-up}\n Inside a room in the arena are objects that don't belong there. The robot has to"
},
{
"path": "tasks/old/TourGuide.tex",
"chars": 5633,
"preview": "\\section{Tour guide}\nThe robot guides spectators to the audience area and answer their questions after explaining what's"
},
{
"path": "tasks/old/WhatisThat.tex",
"chars": 2565,
"preview": "\\section{What is That?}\n\\label{test:what-is-that}\nA guest asks the robot to identify objects in the household.\n\n\\noinden"
},
{
"path": "tasks/old/WhereIsThis.tex",
"chars": 4270,
"preview": "\\section{Where is This? [Party Host]}\n\\label{test:where-is-this}\nThe robot has to explain and show people where they can"
},
{
"path": "teams/teams.tex",
"chars": 680,
"preview": "% all participating teams. \n\\newcommand{\\TEAMS}{\n\tChief Scientist Office,\n\tEPFL@Home,\n\teR@sers,\n\tFBOT@Home,\n\tGentlebots,"
}
]
About this extraction
This page contains the full source code of the RoboCupAtHome/RuleBook GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 141 files (456.9 KB), approximately 126.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.