Challenge Details
Challenge Details
Participants may participate alone or in teams.
Individuals are not allowed to participate in multiple teams.
Each team needs to have a contact person and provide an email address through which they can be reached.
Cash prizes will be paid out to an account specified by the contact person of each team. It is the responsibility of the team's contact person to distribute the prize money according to their team-internal agreements.
To be eligible to win prizes, participants agree to release their code and models as well as publish a report about their methods so that the research community can reproduce and benefit from the results.
The organizers reserve the right to change the rules if doing so is necessary to resolve unforeseen problems.
The organizers reserve the right to disqualify participants who violate the rules or engage in scientific misconduct.
The challenge is divided into three stages, I. Qualifying, II. Simulated Tournament, and III. Real-world Finals. You can develop your agent locally and upload your solution to the cloud server (supported by Huawei Cloud) for evaluation. In the evaluator, environments are modified in different ways to simulate various of real-world problems. The modification is not directly accessible to the participant.
An ideal environment (no disturbance is added) with a general-purpose robot (KUKA iiwa14 LBR) will be released to the public.
This stage aims to familiarize with the task, the environments, and the API.
Every interested person/team can download the docker image of the challenge and develop their algorithms. You could also clone the environment directly from GitHub, but we only accept submissions of the docker image.
Each team will develop a single agent that is able to play the whole game. An agent needs to be submitted until the end of this stage.
A baseline agent will be provided to test and validate your agents.
Based on the evaluation, the agents will be categorized into three levels: Deployable, Improvable, and Nondeployable. Only Deployable and Improvable agents are qualified for the tournament stage. Further details about the deployability can be found in Deployability below.
The evaluator in the cloud server is modified to simulate different types of real-world problems. These modifications include but are not limited to disturbances, observation noise, loss of tracking, model mismatch, and imperfect tracking controller.
No report is required.
Additional environments will be released to be able to train skills relevant to air hockey (hit, defend, prepare).
Registrations to the challenge will be accepted for all the duration of the qualifying stage.
Submitted agents will play against each other in a double round-robin schedule. The games will be played over the course of 1 months, so teams will be able to adjust and improve their agents during this stage.
The evaluator in the cloud server is modified to simulate different types of real-world problems. These modifications include but are not limited to disturbances, observation noise, loss of tracking, model mismatch, and imperfect tracking controller.
The game is played based on the Game Rules.
The match follows the regular air hockey rules with slight modifications.
Each match lasts 15 minutes (45,000 steps).
The agent will lose the game if it is classified as non-deployable during the match.
Each agent has 15 seconds (750 steps) to execute a shot that crosses the centerline. The 15 seconds begin when the puck enters and remains on that player’s side of the centerline. A violation of this rule is a foul.
If the agent accumulates three fouls, it will lose one score.
A match win will accumulate 3 points, a draw will get 1 point, and a loss will get 0 points.
The ranking of the qualifying stage will be determined by the total score at the end of the stage.
The top 4 teams from the qualifying stage will be eligible to play in the tournament stage on the real robot setup.
Teams will play in an elimination bracket.
The ranking of the tournament stage will be determined by the total score at the end of the stage. The prize money will be determined according to this ranking.
The game rules will be identical to the qualifying stage.
Each deployability metric is assigned one or multiple penalty points based on the level of risk. The deployability score is counted when the constraints of the evaluation metric are violated. Each metric is computed at most once per episode (maximum 500 steps per episode).
Violations of the End-Effector's Position Constraints [3]: The desired x-y-position of the end-effector should remain within the boundaries of the table. The z-position of the end-effector should remain within a range.
Violations of the Joint Position Limit Constraints [2]: The desired position command should not exceed the position limits.
Violations of the Joint Velocity Limit Constraints [1]: The desired velocity command should not exceed the velocity limits.
Computation Time [0.5-2]: The computation time at each step should be shorter than 0.02s.
The simulator specification of the Robot Air Hockey Challenge is summarized in the following:
Simulator: MuJoCo
Simulation frequency: 1000 Hz
Control Frequency: 50 Hz
Observation:
Robot:
Joint Positions [radians]
Joint Velocities [radians/s]: Computed by finite difference
Puck (rel. to the robot base frame):
X-Y Position [m]
Yaw Angle [radians]
X-Y Velocity [m/s]
Yaw Velocity [radians/s]: Computed by finite difference
Opponent (if applicable):
End-Effector's X-Y Position [m]
Control Action:
We try to set the simulation as close as possible to the real-world setup. The robot is controlled by torque at 1000 Hz. We use a feed-forward + PD controller to determine the joint torque that tracks the desired joint position and velocity.
A 20-step interpolation is required in the agent's adjacent control commands (the agent control frequency is 50 Hz). We provide different types of polynomial interpolation upon requirements.