Skip to content

ami-iit/paper_romualdi_viceconte_2024_humanoids_dnn-mpc-walking

Repository files navigation

Online DNN-Driven Nonlinear MPC for Stylistic Humanoid Robot Walking with Step Adjustment

Giulio Romualdi, Paolo Maria Viceconte, Lorenzo Moretti, Ines Sorrentino, Stefano Dafarra, Silvio Traversaro, and Daniele Pucci
Co-first authors: Paolo Maria Viceconte and Giulio Romualdi

📅 Accepted for publication at the 2024 IEEE-RAS International Conference on Humanoid Robots (Humanoids), Nancy, France 🤖



Reproducing the Experiments

You can reproduce the experiments using Docker, Conda, or Pixi.

Docker

Run the experiments via Docker for an isolated and reproducible environment.

  1. Pull the Docker image:

    docker pull ghcr.io/ami-iit/dnn-mpc-walking-docker:latest
  2. Launch the container:

    xhost +
    docker run -it --rm \
               --device=/dev/dri:/dev/dri \
               --env="DISPLAY=$DISPLAY" \
               --net=host \
               ghcr.io/ami-iit/dnn-mpc-walking-docker:latest
  3. Wait for Gazebo to start and launch the experiment.

⚠️ Known Issue: The Gazebo real-time factor is scaled by a factor of 10 due to the MUMPS linear solver in the IPOPT Docker image. Alternative solvers (e.g., MA97) are available but cannot be redistributed.


Conda

Follow these steps to set up the experiments using Conda:

  1. Install the environment:

    conda env create -f environment.yml
  2. Activate the environment:

    conda activate dnn-mpc-env
  3. Compile the code:

    cd paper_romualdi_viceconte_2024_humanoids_dnn-mpc-walking
    mkdir build && cd build
    cmake ..
    make -j
    make install
  4. Run the simulation:

    ./run_simulation.sh

⚠️ The Gazebo real-time factor is scaled by a factor of 10 due to the MUMPS linear solver.


Pixi

To run the experiments with Pixi:

  1. Clone the repository:

    git clone https://github.com/ami-iit/paper_romualdi_viceconte_2024_humanoids_dnn-mpc-walking
    cd paper_romualdi_viceconte_2024_humanoids_dnn-mpc-walking
  2. Run the simulation:

    pixi run -e default run_simulation

Using MA97 Solver (Optional): If you have access to the Coin-HSL license, you can use the MA97 solver to improve performance:

  1. Obtain the Coin-HSL archive (coinhsl-2023.11.17.zip) and place it in the ./coinhsl_src folder.
  2. Run:
    pixi run -e coinhsl run_simulation

Maintainers

Paolo Maria Viceconte
👨‍💻 Paolo Maria Viceconte
Giulio Romualdi
👨‍💻 Giulio Romualdi