3rd AI Olympics with RealAIGym at ICRA 2025

Winners

We are happy to announce that the 3rd “AI Olympics With RealAIGym” competition has been successfully concluded at ICRA 2025 in Atlanta. This year the task was to swing up the Acrobot and Pendubot systems from any initial configuration in state space to achieve a global policy in presence of random external disturbances.

We congratulate the winning team:

Real-Time Model Predictive Control for the Swing-Up Problem of an Underactuated Double Pendulum, Blanka Burchard and Franek Stark

which achieved first place in both categories, Pendubot and Acrobot.

We would like to thank our sponsor Cubemars and our local chair at ICRA for supporting the organization of this competition. If you are interested in testing your learning/control algorithm on our hardware and get featured on our leaderboards, feel free to reach out to us!


Participating Teams

5 teams made it to the real-robot stage and will participate in the ICRA competition: 

Simulation Results

The results of the simulation phase can be found here:

Motivation

As artificial intelligence gains new capabilities, it becomes important to evaluate it on real-world tasks. While software such as ChatGPT has recently revolutionized certain areas of AI, athletic intelligence seems to still be elusive in the AI community. To have better robots in the future which can perform a wide variety of dynamic tasks in uncertain environments, the physical or athletic intelligence of robots must be improved. However, this is quite challenging. In particular, the fields of robotics and reinforcement learning (RL) lack standardized benchmarking tasks on real hardware. To facilitate reproducibility and stimulate algorithmic advancements, the 3rd AI Olympics competition is being proposed to be held at ICRA 2025 in Atlanta following the inaugural run at IJCAI 2023 in Macau (video summary), based on the RealAIGym project and the 2nd edition of this competition at IROS 2024 in Abu Dhabi.

While the inaugural run of this competition focussed on comparing the performance of various learning and control methods on the real acrobot/pendubot systems, the second edition at IROS focussed not only on achieving the best scores but also on achieving robustness to disturbances during the execution (external torques shown in the figure on the right). 

At ICRA 2025, the focus of the challenge will be to develop a global policy that can solve the swing up problem from any configuration in the state space, thus improving the controllers in the 3rd edition of this challenge. This will be tested by randomly disturbing the system with very large (compared to IROS 2024) external disturbances while it performs the swingup task.

The challenge will involve two stages: simulation and real-robot experiments where teams (and their agents) can compete to get the highest score to win some cool prizes! We invite people from all communities (AI/ML/RL, Optimal Control, Heuristics, etc.) to participate in this competition on a set of standardized dynamic tasks on well-known prototypical systems using standardized hardware.

 

From Men’s Horizontal Bar Final – Artistic Gymnastics | Rio 2016 Replay

The Challenge

For the challenge, we will use a canonical 2-link robot system with two different configurations. When the actuator in the shoulder joint isactive and the elbow is passive, it functions as a Pendubot. And when the shoulder actuator is passive and the elbow is active, it functions as an Acrobot (inspired by the acrobat athlete seen above). The challenge consists of the following task that has to be carried out first in simulation and then the best teams will be selected to carry out the experiments on real robots: Swing-up and Stabilize an Underactuated 2-link System Acrobot and/or Pendubot. The swing-up is carried out from an initial position which is the robot pointing straight down. The participating teams can decide to either work on the Acrobot swing-up or the Pendubot swing-up or both. For scoring and prizes, Acrobot and Pendubot will be treated as 2 separate tracks i.e. the Acrobot scores/papers will be compared only against other Acrobot teams. For each track, upto 4 teams will be selected from the simulation stage to participate in the real robot stage. One final winner will be selected for each track. The performance and robustness of the swing-up and stabilize controllers will be judged based on a custom scoring system. The final score is the average of the performance score and the robustness score for the acrobot/pendubot system. The final scores of the submissions will be added to the RealAIGym leaderboard.

The competition consists of two stages: simulation stage and real-robot stage. We provide a realistic simulation (with identified system parameters) along with several baseline controllers. The participants are asked to develop new or improve existing algorithms for this task which may exploit state of the art machine learning, optimal control and heuristic methods or any of their possible combinations. They should compete against the performance of the already available baseline controller for the benchmarking criteria set by the organizing committee. The algorithms will be evaluated on those criteria and the final score will be published on a leaderboard. The participants are encouraged to submit their contributions in the form of 2–4-page paper with a link to their GitHub code. The best performers will receive prizes and special recognition.

Acrobot swing-up simulation
Pendubot swing-up simulation
Acrobot swing-up real system
Pendubot swing-up real system

Our dual-purpose setup implements a double pendulum platform built using two quasi-direct drive actuators (QDDs). Due to high mechanical transparency offered by QDDs, one of the actuators can be used as a passive encoder. When the shoulder motor is passive and elbow motor is active, the system is an acrobot and when the shoulder is active and elbow is passive, the system is a pendubot

The acrobot/pendubot is simulated with a Runge-Kutta 4 integrator with a timestep of dt=0.002s for T=60s

Detailed system description can be found in the related article and its supplementary material.

Perform swing up and upright stabilization using a single actuator either in acrobot or pendubot configuration in presence of large disturbances.

Controller requirements:

  • The controller must inherit from the AbstractController class provided in the repository.
  • Friction compensation on both joints is allowed in both pendubot and acrobot. The authors are free to choose a friction compensation model of their choice but the utilized torque on the passive joint must not exceed 0.5 Nm.
  • The following hardware restrictions must be respected by the controller:
    • Control loop frequency: 700 Hz maximum
    • Torque limit: 6 Nm
    • Velocity limit: 30 rad/s
    • Position limits: ± 540 degrees for both joints

 The following rules apply:

  • Each attempt has an attempt of a total time duration of 60s (swing ups + stabilizations).
  • Whenever the pendulum is in the goal region (end-effector above the line) for 4s, the controller is deactivated for 1s and the pendulum is driven to a random state. The controller has to swing up again from that random state.
  • Updated Rule: During the 60s run, at a maximum of 15 random times the controller will be deactivated and the system will be reset do a random state (max duration 1s).

The performance score is measured as the total time the system stays in the topmost/swing-up position within the goal region during the 60s trial.

The benchmarking classes can be found here (acrobot) and here (pendubot).

Hint for the real system: Real Robots do not like non-smooth torque and velocity. It helps to have smooth torque and velocity on the real-system to increase chances of success. Check earlier compeititon (IROS2024 and IJCAI2023) scoring metrics for inspiration.

The performance leaderboards from previous competitions can be found here.

Acrobot swing-up with perturbations
Pendubot swing-up with perturbations

Protocol

The two stages of the challenge are as follows:

For the simulation stage of the competition, we use the following repository from the RealAIGym Project: Double Pendulum. The documentation of the project for installation, double pendulum dynamics, repository structure, hardware, and controllers can be found here. Please follow the installation instructions to start developing your controllers.

You have to develop a new controller or improve an existing controller for the given simulator (plant). The controller can then be tested for the leaderboard using the instructions given for the Acrobot here: Performance Scoring. Similar Pendubot scoring scripts are available here.

To develop a new controller, you can use any of the many many examples given in the repo. A good starting point would be to look at the controllers given here. Your controller must inherit from the AbstractController class provided in the repository. See here for the documentation on how to write your controller using the AbstractController class.

The double pendulum model parameters for the simulation stage are those from ‘design_C.1/model_1.1‘.

Once you’ve developed a new controller and are happy with the results, please follow the following submission guidelines:

  • Create a fork of the repository.
  • Add a Dockerfile to your forked repository that includes all the custom libraries you’ve installed/used that are not part of the double pendulum dependencies. This allows us to use the Dockerfile to recreate your environment with the correct libraries to run the submitted controller. For a tutorial on how to make a Dockerfile, we can recommend the official Docker website.
  • Add your developed controllers to the forked repository. Important: Do not change the plant/dynamics/integrator (This may result in an outright disqualification of the team)!! Remember to use the AbstractController class.
  • Submit the URL of the fork along with a 2-4 page paper about the method developed and the results to Dennis.Mronga@dfki.de with [AI Olympics] in the email subject. Please follow the following guidelines for the paper:
    • Page Limit: 2-4 Pages including references
    • Include the standard plots for position, velocity, and torque with respect to time in the paper. For an example, see timeseries.png here. These plots are generated after simulation if you use the provided function plot_timeseries(T, X, U).
    • Include the tables for performance metrics against the baseline controllers made available on the RealAIGym leaderboards.
    • Use the following template: IEEEConfig.zip

The submitted code and papers will be reviewed and the leaderboard benchmarks will be re-run by us to compute the final scores. The scores as well as the paper reviews will be used to determine the best 4 teams which will carry out the experiments using their controllers on the real systems at ICRA 2025 AI Olympics!

We’ve created the following protocol for the remote hardware experiments for the Real-Robot stage of the competition. 

Protocol for Scheduling Experiment Slots:  
  • The scheduling will be handled by a common Google calendar sent to the teams. The calendar can be found here
  • Each team is allotted a total of 15 hours for experiments. They can create 1-3 hour slots in the shared calendar and invite the following organizer for the meeting slot: Felix Wiebe (felix.wiebe@dfki.de). Once the organizer confirms the meeting, the experiment slot is confirmed. 
  • From the provided 15 hours maximum time, the last 1 hour is reserved for the final test where the controllers will be evaluated for the hardware leaderboard.
  • At the start of the slot, a Microsoft Teams meeting will be started for the live stream along with Q&A for debugging. 

Protocol For Running Experiments in the given Slot: 

  • The Double Pendulum Acrobot/Pedubot is prepared at DFKI RIC, Bremen such that the teams can access the robot via a local control PC running Ubuntu.  
  • The experiments on the real robot will be carried out remotely using VPN+SSH.  
  • A video stream via Microsoft Teams call and video file post-experiment runs will be provided. 
  • First, a VPN must be connected to enter the private network setup for the experiments. For this, each team will be provided with a VPN config file.
  • We use/support the wireguard VPN on Ubuntu. For installing the VPN, the teams have to install the following packages via apt: wireguard-tools, wireguard, and resolvconf. This can be done via the command:
    • sudo apt-get install wireguard-tools wireguard resolvconf 
  • After installing, you can go to the folder containing the provided VPN config file and run the following to start the VPN: 
    • wg-quick up wg-client.conf
      (Hint: Sometimes one has to provide the full path of wg-client.conf) 
  • To exit the VPN, run: 
    • wg-quick down wg-client.conf
      (
      Hint: Sometimes one has to provide the full path of wg-client.conf) 
  • Once you are within the VPN, you can SSH to the control computer whose IP address will be provided at the start of each experiment session.  
  • For SSH, a username and password will be provided to each team. For SSH, the following command can be used:
    • ssh <username>@<IP Address>
  • Once in the control PC via SSH, teams can execute scripts remotely and copy data in/out from the PC. Tools such as scp/git are suggested to be used for transferring code/data. (Hint: A tutorial on scp to copy data: https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/) 
  • The double pendulum repo library along with motor drivers are installed on the control PC at the home folder. Hence, they should be available for each individual team.

Some rules and information for the hardware experiments regarding experiment duration and safety limits: 

  • Each attempt must not exceed a total time duration of 60 seconds (swing-up + stabilization) 
  • Friction compensation on both joints is allowed in both pendubot and acrobot configurations. The teams are free to choose a friction compensation model of their choice but the utilized torque on the passive joint must not exceed 0.5 Nm. 
  • The controller must inherit from the AbstractController class provided in the project repository. 
  • The following hardware restriction must be respected by the controller: 
    • Control Loop Frequency: 500Hz Max. Usually around 400Hz. 
    • Torque Limit: 6Nm 
    • Velocity Limit: 20 rad/s 
    • Position Limits: +- 720 degrees for both joints 
  • When the motors exceed these limits, the controller is (usually) automatically switched off and a damper is applied to bring the system to zero velocity. Once zero velocity is achieved, experiments can start again. 
  • When the motors are initially enabled, they are set to the “zero position”. This happens every time they are enabled. 
  • For the hardware experiments, the Acrobot Pendubot system parameters are the same but different from the ones in the simulation. We have done the basic system identification and the teams can re-train their controllers using the following system parameters for the hardware: https://github.com/dfki-ric-underactuated-lab/double_pendulum/blob/main/data/system_identification/identified_parameters/design_C.1/model_1.0/model_parameters.yml
  • A person will be watching the experiments and will have access to an Emergency Stop. 

Schedule/Important Dates

The on-site competition will require 2 full days: first day for teams to prepare and setup with the hardware, and second day the competition is open to public. Prior to the ICRA, the teams will have both access to the simulation and to the real system via remote experiments, therefore they will already come with developed controllers which will be showcased at ICRA. 

Additionally, we will organize a workshop where we invite all participating teams to present their algorithms and discuss the solutions. 

Prizes

The winners of the competition will have the opportunity to win prizes worth $2500 combined. 

Photo Gallery

Video Proceedings

The video proceedings of the competition event at IJCAI 2023 can be found here: https://youtube.com/playlist?list=PLpz4XBkUoo6x2xlUy5lByGVEVYfQ24g5C&feature=shared

Organizing Committee

Organizing Institutions

dfki_Logo_print_black

Sponsors