Acrobot Real System Perturbation Leaderboard V2

Controller Short Controller Description Swingup Success Swingup Time [s] Energy [J] Torque Cost [N²m²] Torque Smoothness [Nm] Velocity Cost [m²/s²] Best RealAI Score Average RealAI Score Username Data
ilqr_tvlqr_lqr Stabilization of iLQR trajectory with time-varying LQR. 5/10 4.05 14.66 3.82 0.079 110.92 0.462 0.22 fwiebe data plot video

Rules

The real system leaderboard compares the performance of different control methods on the real hardware. The task for the controller is to swingup and balance the acrobot and keep the end-effector above the threshold line.

During the execution external perturbations in the form of Gaußian torque peaks have been applied by the motors at both links. In total there were 4 perturbations, 2 at each joint, with a standard deviation between 0.05s and 0.1s and an amplitude between 0.5Nm and 0.75Nm. The perturbations are randomly generated and different in all 10 trials.

Videos from left to right: TVLQR

The model parameters identified by us with a least squares optimization of the acrobot are:

More information about the dynamic model of the double pendulum can be found here: Double Pendulum Dynamics. For a urdf file with this model see here: URDF.

The \(0.5\,\text{Nm}\) torque limit on the passive joint can be used to compensate the friction of the motor.

The actuators can be controlled with arbitrary control frequency of up to \(500\, \text{Hz}\) and the experiment takes \(10\,\text{s}\). The initial acrobot configuration is \(x_0 = (0, 0, 0, 0)\) (hanging down) and the goal is the unstable fixpoint at the upright configuration \(x_g = (\pi, 0, 0, 0)\). The upright position is considered to be reached when the end-effector is above the threshold line at \(h=0.45 \, \text{m}\) (origin at the mounting point).

Scores

For the evaluation multiple criteria are evaluated and weighted to calculate an overall score (Real AI Score). The criteria are:

These criteria are used to calculate the overall Real AI Score with the formula

\[ \begin{equation} S = c_{success} \left( 1 - \sum_{i \in \{ 'time', 'energy', '\tau, cost', '\tau, smooth', 'vel, cost' \}} \tanh \left(\frac{c_{i}}{n_{i}}\right)\right) \end{equation} \]

The weights and normalizations are:

Criterion normalization \(n\)
Swingup Time 20.0
Energy 60.0
Torque Cost 20
Torque Smoothness 1.0
Velocity Cost 400.0

The listed number for swingup time, energy, etc. in the leaderboard are the scores for from the best attempt. The ‘Best RealAIScore’ is the score of that attempt. The ‘Average RealAIScore’ is the average score over 10 attempts. Unsuccessful swingups (where the end effector is not above the threshhold line in the end of the experiment (i.e. after \(10\,\text{s}\))) have a score of 0.

Participating

If you want to participate in this leaderboard with your own controller have a look at the leaderboard explanation in the double pendulum repository. We recommend submitting the controller first to the acrobot simulation leaderboard and the robustness leaderboard. Experiments with the real hardware can be conducted remotely. Please contact shivesh.kumar@dfki.de, felix.wiebe@dfki.de or shubham.vyas@dfki.de for details and scheduling. The leaderboard is automatically periodically updated based on the recorded data which is uploaded to this leaderboard repository.