Installation#

This section details the installation procedure for Qontrol.

Warning

Qontrol has only been tested on Ubuntu 20.04 and 22.04. There is no guarantee that it will build on other systems.

Prerequisites#

Before installing Qontrol you need to install the following dependencies:

  • tinyXML2 (sudo apt install libtinyxml2-dev)

  • Eigen3 (sudo apt install libeigen3-dev)

  • Pinocchio (sudo apt install ros-$ROS_DISTRO-pinocchio or from source)

  • A C++ compiler with C++17 support

  • CMake >= 3.15

The examples are built using the mujoco simulator. If mujoco is not installed on your system, a cmake FetchContent will be called to compile it locally for this project.

Building the Library

  1. Clone the git repository:

    git clone https://gitlab.inria.fr/auctus-team/components/control/qontrol.git
    
  2. Move to Qontrol, create the build directory and go there:

    cd qontrol && mkdir build && cd build
    
  3. Run the cmake command:

    cmake ..
    
  4. Build the library:

    make -j4
    

Launch examples

Go to your build folder and run:

cd examples
./<example_name> <robot_name>

where:

  • <example_name> is the name of the example you want to run (e.g., accelerationQontrol).

  • <robot_name> can either be panda or ur5.

From PyPI

The easiest way to install the Qontrol Python bindings is via pip:

pip install pyqontrol

From Source

Ensure you have Python >= 3.9 and pip installed. Clone the repository and build:

git clone https://gitlab.inria.fr/auctus-team/components/control/qontrol.git
cd qontrol/bindings/python
pip install .

For development installation with editable mode:

pip install -e ".[dev]"

Optional Dependencies

To use MuJoCo examples and visualization:

pip install "pyqontrol[mujoco]"

Verifying Installation

import qontrol
print(qontrol.__version__)