Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The HiQP Control Framework

Copyright (C) 2016-2017 Marcus A. Johansson

HiQP is a whole-body control framework for computing inverse kinematics (and dynamics in future releases) involving multiple objectives which can be incompatible. It uses the inequality task function approach in [1] and is based on hierarchical least-squares optimization. Lower-ranked tasks are fulfilled as good as possible (in the least-square sense) in the null-space of higher-ranked tasks. More details are given in [2] - available at


Robert Krug and Todor Stoyanov at the AASS Research Institute at Örebro University, Sweden, have been important contributors to this project. Thank you.

Upcoming features/changes

  • A Wiki/user guide will be created as a tutorial on how to use HiQP with ROS. In the meantime, we refer to the hiqp_demos package for examples of how to use HiQP:
  • The list of available service calls will be revised and extended.
  • A capsule primitive will be added to the set of geometric primitives.
  • The framework will be extended to compute controls on a joint acceleration level in order to enable inverse dynamics control.

Installation note

HiQP relies on Gurobi to solve Quadratic Programs (QPs). For academic use, a free license can be obtained at Make sure to set the corresponding environment variables as described in

How to cite HiQP

A publication presenting HiQP is in preparation. In the meantime, please refer to [2].

[1] ... O. Kanoun, F. Lamiraux and P.-B. Wieber, Kinematic control of redundant manipulators: Generalizing the task-priority framework to inequality task. IEEE T-RO, 27(4):785-792, 2011.
[2] ... M. A. Johansson, Online whole-body control using hierarchical quadratic programming: implementation and evaluation of the HiQP control framework. MSc Thesis, 2016.


No description, website, or topics provided.




No packages published