eigen-qld provides an interface to use the QLD QP solver with the Eigen3 library.
To setup the release versions:
# Make sure you have required tools
sudo apt install apt-transport-https lsb-release
# Add our key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key 892EA6EE273707C6495A6FB6220D644C64666806
# Add our repository
sudo sh -c 'echo "deb https://dl.bintray.com/gergondet/multi-contact-release $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/multi-contact.list'
# Update packages list
sudo apt update
# Install eigen-qld packages
sudo apt install libeigen-qld-dev python-eigen-qld python3-eigen-qld
To setup the packages from the master branch:
# Make sure you have required tools
sudo apt install apt-transport-https lsb-release
# Add our key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key 892EA6EE273707C6495A6FB6220D644C64666806
# Add our repository
sudo sh -c 'echo "deb https://dl.bintray.com/gergondet/multi-contact-head $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/multi-contact.list'
# Update packages list
sudo apt update
# Install eigen-qld packages
sudo apt install libeigen-qld-dev python-eigen-qld python3-eigen-qld
Install the latest version using conan
conan remote add multi-contact https://api.bintray.com/conan/gergondet/multi-contact
# Install the latest release
conan install eigen-qld/latest@multi-contact/stable
# Or install the latest development version
# conan install eigen-qld/latest@multi-contact/dev
Install from the command line using Homebrew:
# install homebrew package manager
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# install caskroom application manager
brew install caskroom/cask/brew-cask
# tap homebrew-science package repository
brew tap homebrew/science
# tap ahundt-robotics repository
brew tap ahundt/robotics
# install tasks and all its dependencies
brew install eigen-qld
To compile you need the following tools:
- Git
- CMake >= 2.8
- pkg-config
- doxygen
- g++
- gfortran (
-DUSE_F2C=OFF
) - gcc (
-DUSE_F2C=ON
) - Boost >= 1.49
- Eigen >= 3.2
For Python bindings:
- Cython >= 0.20
- Eigen3ToPython (to use the python binding)
git clone --recursive https://github.com/jrl-umi3218/eigen-qld
cd eigen-qld
mkdir _build
cd _build
cmake [options] ..
make && make intall
By default, the build will use the python
and pip
command to install the bindings for the default system version (this behaviour can be used to build the bindings in a given virtualenv). The following options allow to control this behaviour:
PYTHON_BINDING
Build the python binding (ON/OFF, default: ON)PYTHON_BINDING_FORCE_PYTHON2
: usepython2
andpip2
instead ofpython
andpip
PYTHON_BINDING_FORCE_PYTHON3
: usepython3
andpip3
instead ofpython
andpip
PYTHON_BINDING_BUILD_PYTHON2_AND_PYTHON2
: builds two sets of bindings one withpython2
andpip2
, the other withpython3
andpip3
BUILD_TESTING
Enable unit tests building (ON/OFF, default: ON)USE_F2C
Build with fortran source code translated in C (slower runtime) (ON/OFF, default: OFF).