Applications are now open for the DSPL Simulation competition of the RoboCup@Home 2021 League.
In this competition, you will perform a TidyUp task using HSR. The competition is done in a simulation environment and uses the open-source version of the HSR simulator.
How to participate in the challenge
Download the simulator
Please set up the HSR Simulator by reading the following README.
The README describes the steps to install the simulator on Linux, but it also works on Docker for Windows and Docker for Mac as well.
In the case of Docker for Windows, WSL2 is used internally. Since the number of processors used as default is small to run the simulator, it is recommended to increase the number by entering the following command at the command prompt:
After the notepad opens, copy and paste the following text and save it:
[wsl2] processors=2 swap=0
processors specifies the number of CPU cores you want to assign to WSL2. Setting a larger number will speed up the simulation.
Create the repository
A sample project is available at the following URL. Make a copy from here:
If you are brave enough to join in the competition while putting your algorithms to the public, please click the “fork” button to fork the repository.
If you want to keep the algorithm private during the competition, please a private repository with the same name on github. Then copy the repository with the following commands:
$ git clone --bare https://github.com/devrt/robocup-at-home-2021-challenge.git $ cd robocpu-at-home-2021-channege.git $ git push --mirror https://github.com/[yourusername]/robocup-at-home-2021-challenge.git
Register your algorithm to the scoring server
The algorithm will be scored automatically on the scoring server.
Please register the repository to the build service at the following URL:
In the “Repository access” setting, if you are concerned about security, please only register the algorithm repositories. If you don’t care about security, select “All repositories”.
To develop your algorithm, please open the webIDE of the HSR simulator (http://localhost:3001/) and clone the repository to develop the algorithm.
In the sample project, there is a simple move algorithm in “wrs_challenge/scripts/move.py”, so let’s start by modifying it.
The HSR simulator comes with learning materials in Juypyter notebooks (the default language is Japanese, but the English translation is available by clicking the “Langs” menu item), so let’s start by rewriting the algorithm as you progress through the learning materials.
After you git push the algorithm to the repository, the simulator will detect the source changes and automatically run the simulation for scoring.
For more information on the rules, please read the official rulebook below:
The tidy up task.
Put away toys and kitchen items scattered on and underneath the long table to the trays and the storage boxes.
You’ll get bonus points for putting away the specific types of toys and kitchen items in the designated places specified in the rulebook. Regular points will be given by clean them up to any place.
The moving task.
You will move to the next room, but there is a small object lying in your path, and the score will be decreased if you hit it.
The object is small enough to interfere with your movement, so you can break through it even if you hit it (you’ll get a bonus if you can get into the next room).
The human support task.
You get points for listening to a person’s request (in the simulator, the content is published in the “/message” ROS topic) and bringing them the requested object from the shelf.
In this task, we can get partial points for bringing in the wrong object, so let’s get the partial points as a first step.
How the scoring server works
The scoring server uses GitHub webhooks to monitor changes made to the repository.
When changes are made to the repository, it builds a Docker image using Dockerfile in the top folder of the repository and connects the built Docker image to the simulator, and executes it.
Once the algorithm finish running, the post-run score is saved in the score sheet.
Libraries and other software needed to run the algorithm can be installed by editing the Dockerfile (in the sample project, the Dockerfile contains a configuration to install each dependent package defined in package.xml).
The command to execute the algorithm can be customized by changing the CMD line at the end of the Dockerfile.