orcisir_ISIRController 0.1 ISIR controller in xde framework to control robots, based on LQP solver.
ORCISIR_ISIRController API

## Introduction

The goal of the controller is to compute a torque that will be applied to the robot at each time step.

To compute this torque, we use a well-known Linear-Quadratic Program (LQP: a convex optimization program). It solves the (generic) following problem: There are two possible ways to solve the control problem of a dynamic system. The first one relies on a redundant formalism (more readable), the second on an independent formalism (more efficient).

### Control problem - Redundant formalism

The dynamic problem can be defined with the following variable where is the generalized acceleration vector, is the output torque, and is the concatenation vector of all the contact forces.

Then, given a set of tasks the control problem can be written as follows: With the following set of constraints: ### Control problem - Independent formalism

The dynamic problem defined above uses a redundant variable because they are linked in the equation of motion. The following variable can be used as an independent variable. The dynamic equation is no more in the constraints set, it is written in every tasks and constraints (see Redundant to independent formalisms) and the problem becomes: With the following constraint set: where are functions that transform matrices from redundant formalism to indepedent formalism.

### What we need

To sum up, we need the following data for the constraints:

• The state & dynamic matrices / vectors: • The Jacobian of contact and derivative: • The limits: • The cones of friction, gathered in one matrix: 