# Compliant Hierarchical Control for Arbitrary
Equality and Inequality Tasks with Strict and Soft Priorities

Gianluca Garofalo Gianluca Garofalo is with ABB Corporate Research, 72178
Västerås, Sweden. gianluca.garofalo(at)se.abb.com

###### Abstract

When a robotic system is redundant with respect to a given task, the remaining
degrees of freedom can be used to satisfy additional objectives. With current
robotic systems having more and more degrees of freedom, this can lead to an
entire hierarchy of tasks that need to be solved according to given
priorities. In this paper, the first compliant control strategy is presented
that allows to consider an arbitrary number of equality and inequality tasks,
while still preserving the natural inertia of the robot. The approach is
therefore a generalization of a passivity-based controller to the case of an
arbitrary number of equality and inequality tasks. The key idea of the method
is to use a Weighted Hierarchical Quadratic Problem to extract the set of
active tasks and use the latter to perform a coordinate transformation that
inertially decouples the tasks. Thereby unifying the line of research focusing
on optimization-based and passivity-based multi-task controllers. The method
is validated in simulation.

##  I Introduction

The development of complex robotic systems, such as autonomous mobile
manipulators and humanoid robots, has led to the design of several control
strategies to simultaneously accommodate multiple task-space objectives. These
multiple objectives can be taken into account by the controller because of the
kinematic redundancy of the system with respect to a single task-space
objective. By repeatedly applying this concept, one can obtain an entire
hierarchy of tasks that need to be solved according to given priorities.
Ordering the task by priority levels ensures that possible conflicts between
the tasks can be resolved by relying on their relative importance.

Several works can be found in the literature that address the problem of
multi-task control. A first classification can be made based on the allowed
interference between tasks. Soft-priority methods consider a weighted
combination of the control actions required for the individual tasks [1, 2, 3,
4, 5], while strict-priority methods guarantee that there is no interference
on a task from any of those with a lower priority level [6, 7, 8, 9]. Another
classification criteria is whether the method is based on optimization [10, 7,
11, 12, 13] or if it computes the control law in closed form [8, 5, 9, 14].
The latter methods are applied to cases with equality tasks only, but have the
advantage of having well-analyzed stability properties. Finally, there are
methods based on the well-known Operational Space Formulation [15] and other
that rely on passivity-based compliance control [16]. The first class of
methods fully decouples the closed-loop dynamics via feedback-linearization-
based actions [17, 18, 19], while the second family of controllers aims at
avoiding any reshaping of the individual task-space inertias [8, 20, 9, 14].
Feedback linearization typically comes with an easier design phase and leads
to decoupled closed-loop linear systems that are also easier to analyze.
Nevertheless, the controller might be more sensitive to modeling errors and
parameter variations. This is exactly the opposite of what happens when the
inertia of the system is not reshaped and only recently arbitrary task levels
and dimensions could be considered [9].

Despite these differences, often modifications of a method allow to switch
from one class to the other. Optimization-based methods can easily consider
both soft and strict priorities by modifying the cost function and the
constraints used by the solver. This can be similarly achieved via appropriate
selection of the damping factor in a damped pseudo-inverses, if only equality
tasks are considered. Also, it is well known that passivity-based methods
typically specialize into the operational-space counterpart if one allows to
reshape the inertia of each task. Nevertheless, the possibility of having
inequality tasks was so far a prerogative of optimization-based methods with
inertia reshaping.

The main contribution of this work is the derivation of a passivity-based
hierarchical controller with arbitrary equality and inequality tasks of any
dimensions. In other words, there are no restrictions on how many tasks the
users can provide, on whether or not each task is represented via an equality
or an inequality and finally on what is the dimension and rank of each task.
The key idea of the method is to extract the set of active tasks computed
during the numerical solution of a Weighted Hierarchical Quadratic Problem
(WHQP) and utilize them to compute a coordinate transformation needed to
design passivity-based hierarchical controllers. This has been achieved via
the following steps:

  * •

Modification of the Hierarchical Quadratic Problem (HQP) [7] via weighting
matrices (this ensures the inertia decoupling at a later step and allows to
have soft priorities between tasks within the same level);

  * •

Differentiation of the Complete Orthogonal Decomposition (COD);

  * •

Selection of a coordinate transformation via the set of active tasks and the
COD (and its differentiation);

  * •

Design of the control law in the transformed space.

The paper is organized as follows. Section II recalls useful definitions and
introduces the notation. The newly proposed WHQP is presented in Section III.
Section IV describes the considered systems and defines the control objective.
The control design is carried out in Section V and validated in simulations in
Section VI. Finally, Section VII summarizes the work. While these sections
contain the main results, all the technical derivations are collected in the
Appendices.

##  II Preliminaries

###  II-A Weighted Moore-Penrose Inverse

Given a matrix ${A\in\mathbb{R}^{m\times n}}$ and two symmetric positive
definite matrices ${W_{1}\in\mathbb{R}^{m\times m}}$ and
${W_{0}\in\mathbb{R}^{n\times n}}$, the following problem for an unknown
matrix ${X\in\mathbb{R}^{n\times m}}$:

$\displaystyle AXA=A$ (1a) $\displaystyle XAX=X$ (1b)
$\displaystyle(W_{1}AX)^{\top}=W_{1}AX$ (1c)
$\displaystyle(W_{0}XA)^{\top}=W_{0}XA$ (1d)

has a unique solution ${X=A^{\dagger_{{}_{W_{1},W_{0}}}}}$ called the Weighted
Moore–Penrose Inverse (WMPI) of $A$ [21, 22]. Notice that $A$ is not assumed
to have full rank and therefore ${A^{\dagger_{{}_{W_{1},W_{0}}}}}$ cannot be
computed as a left or right weighted inverse. Instead, one can compute
${A^{\dagger_{{}_{W_{1},W_{0}}}}}$ as

$\displaystyle
A^{\dagger_{{}_{W_{1},W_{0}}}}=R_{0}^{-1}\hat{A}^{\dagger}R_{1}$ (2)

where $\hat{A}^{\dagger}$ is the classic Moore–Penrose Inverse (MPI) of
${\hat{A}=R_{1}AR_{0}^{-1}}$ and the Cholesky decomposition of the weight
matrices are ${W_{1}=R_{1}^{\top}R_{1}}$ and ${W_{0}=R_{0}^{\top}R_{0}}$ [9].
In turn, $\hat{A}^{\dagger}$ can be conveniently computed from the compact111A
Complete Orthogonal Decomposition (COD) will be referred to as compact if it
considers only the non-zero blocks of the original COD. Complete Orthogonal
Decomposition (COD) of ${\hat{A}=ULY^{\top}}$ as
${\hat{A}^{\dagger}=YL^{-1}U^{\top}}$.

###  II-B Notation

A simplifying notation is introduce to denote stacks of matrices or vectors.
The whole stack of vectors ${x_{k}\in\mathbb{R}^{m_{k}}}$ for
${k\in\\{1,\ldots,r\\}}$ will be denoted by suppressing the subscript and
organized in a column array, i.e.,
${x=\begin{bmatrix}x_{1}^{\top}&\ldots&x_{r}^{\top}\end{bmatrix}^{\top}\in\mathbb{R}^{m}}$,
with ${m=\sum_{k=1}^{r}m_{k}}$. Moreover, the partial stack of the first
$k$-th elements will be denoted as $\mathbf{x}_{k}$. Therefore,
${\mathbf{x}_{1}=x_{1}}$ and ${\mathbf{x}_{r}=x}$.

The simplified notation ${A_{k}^{+}}$ will be used in place of
${A_{k}^{\dagger_{{}_{W_{k},M}}}}$ with $M$ being the joint inertia matrix of
the robot and $W_{k}$ the weight matrix used at level $k$. Moreover, for a
stack of matrices $A$ it is easy to show that
${A^{+}=\begin{bmatrix}A_{1}^{+}&\ldots&A_{r}^{+}\end{bmatrix}}$ is the WMPI
of $A$ with weight matrices $W$ and $M$, being $W$ the block-diagonal matrix
whose blocks are $W_{k}$. This is easily verified by showing that $A^{+}$ so
defined satisfies (1).

Finally, $E$ and $O$ will always denote the identity matrix and a matrix of
zeros, with dimensions given by the context.

###  II-C Projected Stack

Given a stack of matrices ${A\in\mathbb{R}^{m\times n}}$, the dynamically
consistent stack ${\bar{A}}$ is computed via the recursion

$\displaystyle\bar{A}_{k}=A_{k}\,P_{k-1}$ (3) $\displaystyle
P_{k}=P_{k-1}\,\left(E-\bar{A}_{k}^{+}\bar{A}_{k}\right)$ (4)

for ${k\in\left\\{1,\ldots,r\right\\}}$ and with $P_{0}=E$. A consequence of
the definition is that the first matrix in the stack is unchanged. Moreover,
the matrices $P_{k}$ and $\bar{A}_{k}$ satisfy the properties

$\displaystyle P_{k}\,P_{k}=P_{k}$ (5) $\displaystyle
P_{k}^{\top}\,M=M\,P_{k}$ (6) $\displaystyle P_{k}\,P_{j}=P_{j}\,P_{k}=P_{k}$
(7) $\displaystyle A_{j}\,\bar{A}_{k}^{+}=0$ (8)

for all ${j<k}$. The first two qualify $P_{k}$ as an orthogonal projection
matrix with metric $M$ and (7) additionally guarantees that each matrix in the
stack is projected in the nullspace of all the previous levels. Due to the
recursive nature of the definitions, these properties were proved in [9] by
induction.

###### Remark 1

The iterations (3), (4) are a generalization of the Gram–Schmidt process used
to compute the LQ decomposition of a matrix without normalization of the
factor $Q$. Indeed, ${A\bar{A}^{+}}$ is a block lower-triangular due to (8).

##  III Weighted Hierarchical Quadratic Problem

The goal of this section is twofold: recalling the results in [7] using the
notation of this paper, while modifying them to allow a weighted version of
the problem. In particular, while in [7] a MPI was considered for each of the
matrix appearing in the constraints of the problem, here a projected stack via
WMPI will be created from the matrices. Therefore, it will be referred to as
Weighted Hierarchical Quadratic Problem (WHQP). This has two main
consequences:

  * •

soft priorities are possible between tasks within the same priority level,

  * •

an inertially decoupled coordinate transformation can be identified in Section
V.

The Hierarchical Quadratic Problem (HQP) introduced in [7] solves efficiently
a sequence of QP problems that incorporate equality or inequality constraints
at any levels, while respecting the task priorities. The sequence of optimal
objectives is minimal in the lexicographic sense: it is not possible to
decrease an objective without increasing all those with higher priority. In
the WHQP, each objective is weighted via the symmetric positive-definite
matrix $W_{k}$, i.e.,

$\displaystyle\underset{x,w_{1},\ldots,w_{r}}{\textrm{lex min}}$
$\displaystyle\left\\{\frac{1}{2}w_{1}^{\top}W_{1}w_{1},\ldots,\frac{1}{2}w_{r}^{\top}W_{r}w_{r}\right\\}$
(9a) s.t. $\displaystyle A_{k}\,x\geq b_{k}+w_{k}$ (9b)

for ${k\in\left\\{1,\ldots,r\right\\}}$, where $w_{k}$ are slack variables
that can relax the constraint in case of infeasibility and the notation with
only lower bounds encompasses upper bounds, double bounds and equalities. When
the matrix $A_{k}$ is itself a stacked matrix and $W_{k}$ is block-diagonal,
this formulation allows to have soft priorities between tasks at the same
level $k$. To solve problem (9), a modification of the hierarchical active
search method proposed in [7] is presented.

As in [7], a key step of the algorithm is the solution of the QP for the
$k$-th priority level in the form:

$\displaystyle\min_{x^{(k)},w_{k}}$
$\displaystyle\frac{1}{2}w_{k}^{\top}W_{k}w_{k}$ (10a) s.t.
$\displaystyle\mathbf{\bar{A}}_{k-1}\,x^{(k)}=\mathbf{\bar{A}}_{k-1}x^{(k-1)}$
(10b) $\displaystyle A_{k}\,x^{(k)}=b_{k}+w_{k}$ (10c)

The first constraint guarantees that the solution of the problem at step $k$,
denoted by $x^{(k)}$, does not affect the previous tasks at levels prior to
$k$. The optimal solution for the primal and dual variables is found in
Appendix A to be:

$\displaystyle x^{(k)}=\mathbf{\bar{A}}^{+}_{k}\,\mathbf{v}_{k}$ (11)
$\displaystyle w_{k}=-\big{(}E-\bar{A}_{k}\bar{A}^{+}_{k}\big{)}v_{k}$ (12)
$\displaystyle\lambda_{k}=W_{k}w_{k}$ (13)
$\displaystyle\mathbf{\lambda}_{k-1}=-\mathbf{\bar{A}}^{+\top}_{k-1}A^{\top}_{k}W_{k}w_{k}$
(14)

where ${v_{k}=b_{k}-A_{k}\mathbf{\bar{A}}_{k-1}\mathbf{v}_{k-1}}$ and
${\mathbf{v}_{k-1}}$, ${\mathbf{\lambda}_{k-1}}$ are to be considered void for
${k=1}$.

In presence of inequality constraints, one needs in addition that the
corresponding dual variables $\lambda$ are non-positive. This is guaranteed by
Alg. 1, so that one obtains the optimal solution of (9). The algorithm relies
on the solution of a WHQP with only equality constraints every time the active
set $\mathcal{A}$ changes. Both the values of the primal variables $x$ and
dual variables $\lambda$ at the optimum are needed, as well as the index
$\eta$ of the last task in the stack that contributes to the solution $x$. The
primal and dual variables are returned by the algorithms $eWHQP_{primal}$ and
$eWHQP_{dual}$, respectively. In contrast, in [7], the algorithms
$eHQP_{primal}$ and $eHQP_{dual}$ were used since the problem was not
weighted. Moreover, in [7] these algorithms were using the COD to compute the
MPI. Appendix B shows how the WMPI needed for the optimal solution can be
computed using the COD iterations in the exact analogous way as in [7].

Exactly as in [7], Alg. 1 also keeps track of the locked set $\mathcal{L}$
(and its complement $\mathcal{U}$), i.e., the set of inequalities that cannot
be removed from $\mathcal{A}$ because are essential to obtain the minimum
value of objectives with higher priorities. Finally, $\mathcal{E}$ and
$\mathcal{I}$ are the constant sets of equality and inequality tasks.

Algorithm 1 Weighted Hierarchical Active Search

1:$\mathcal{A}\leftarrow\mathcal{E}$

2:$\mathcal{L}\leftarrow\emptyset$

3:$x\leftarrow 0$

4:while $h\leq r$ do

5: repeat

6: $(x,\eta)\leftarrow$ $eWHQP_{primal}$($\mathcal{A}$)

7: for all $k\in\mathcal{I}:k\leq\eta$ and $A_{k}x<b_{k}$ do

8: $\mathcal{A}\leftarrow\mathcal{A}\cup\\{k\\}$

9: end for

10: until not $\mathcal{A}$ is new

11: repeat

12: $\mathcal{W}\leftarrow\mathcal{A}\cap\mathcal{I}\cap\mathcal{U}$

13: $\lambda\leftarrow$ $eWHQP_{dual}$($h,\mathcal{W}$)

14: for all $k\in\mathcal{W}:k\leq\eta$ do

15: if $\lambda_{k}>0$ then

16: $\mathcal{L}\leftarrow\mathcal{L}\cup\\{k\\}$

17: else

18: $\mathcal{A}\leftarrow\mathcal{A}\setminus\\{k\\}$

19: end if

20: end for

21: until $h\leq r$ and $\mathcal{A}$ is new

22:end while

23:return $x$

The reader is referred to [7] for the optimality and convergence analysis of
the algorithm, as well as all for further details, because it will be shown in
the next subsection that with minor changes the Weighted Hierarchical Active
Search can be obtained from the unweighted counterpart in [7].

###  III-A Efficient Computation via COD

Appendix B shows how to use the COD and Cholesky decomposition to compute each
matrix of the projected stack and corresponding WMPI needed to obtain the
solution of Alg. 1. From the expressions in Appendix B, it is further quite
easy to realize that only two modifications need to be made in order to
compute the solution of a WHQP compared to the original HQP. Let $R_{0}$,
$R_{k}$ be the Cholesky factor of $M$ and $W_{k}$ respectively, i.e.,
${M=R_{0}^{\top}R_{0}}$ and ${W_{k}=R_{k}^{\top}R_{k}}$ and recall that
$Z_{k}$ is computed from the factors of each COD, see [7] and Appendix B. Then
firstly, $Z_{0}$ needs to be initialized to $R_{0}^{-1}$ instead of the
identity as in [7]. Secondly, each $A_{k}$, $b_{k}$ need to be pre-multiplying
by the corresponding Cholesky factor $R_{k}$. With these two modifications in
place, the implementation of the WHQP and the regular HQP is exactly
identical. More specifically, the variables ${R_{k}A_{k}}$, ${R_{k}b_{k}}$,
${R_{k}w_{k}}$, ${R_{k}v_{k}}$ and ${R_{k}^{-\top}\lambda_{k}}$ in this paper
correspond to $A_{k}$, $b_{k}$, $w_{k}$, $v_{k}$ and $\lambda_{k}$ appearing
in the algorithms in [7]. This correspondence will be assumed for the
remainder of this paper. With an abuse of notation following this
correspondence, it is shown in Appendix B that the solution requires the
computation of the WMPI as

$\displaystyle\bar{A}_{k}^{+}=Z_{k-1}Y_{k}L_{k}^{-1}U_{k}^{\top}$ (15)

where $U_{k}$, $L_{k}$ and $Y_{k}$ are the factors of the compact COD of
$A_{k}Z_{k-1}$, with

$\displaystyle Z_{k}=Z_{k-1}\tilde{Z}_{k}$ (16a) $\displaystyle
Z_{0}=R_{0}^{-1}$ (16b)

for ${k\in\left\\{1,\ldots,r\right\\}}$, $\tilde{Z}_{k}$ the complement of
$Y_{k}$ in the COD, i.e, ${Y_{k}^{\top}\tilde{Z}_{k}=0}$, while
${Z_{k}^{\top}MZ_{k}=E}$.

###  III-B Summary

The WHQP generalizes the regular HQP, in the same sense that the WMPI
generalizes the MPI. This is exactly because the WHQP is solved using a WMPI
in place of a simple MPI. The benefit is that both weight matrices in the WMPI
can be used for a specific purpose. By setting them to $W_{k}$ and $M$, the
first weight $W_{k}$ is used to have soft priorities between tasks within the
same priority level $k$, while the second will result in an inertially-
decoupled coordinates transformation in Section V. From an algorithmic point
of view, the solution of a WHQP can be obtained with the exact same
implementation used to solve a regular HQP. Only two minor modifications are
necessary: first, $Z_{0}$ needs to be initialized to $R_{0}^{-1}$ instead of
the identity matrix; second, each $A_{k}$ and $b_{k}$ need to be pre-
multiplied by $R_{k}$.

##  IV Robot Model and Control Objective

The considered fully-actuated robotic system is modeled by the nonlinear
differential equations:

$\displaystyle M(q)\ddot{q}+C(q,\dot{q})\dot{q}+g(q)=\tau\ ,$ (17)

where the state of the robot is given by generalized positions and velocities
$q$, ${\dot{q}\in\mathbb{R}^{n}}$, $n$ being the number of degrees of freedom
(DoF). The dynamic matrices are the symmetric and positive definite inertia
matrix ${M\in\mathbb{R}^{n\times n}}$, a Coriolis matrix
${C\in\mathbb{R}^{n\times n}}$ satisfying the passivity property
${\dot{M}=C+C^{\top}}$ and the gravity torque vector ${g\in\mathbb{R}^{n}}$.
Finally, the control input ${\tau\in\mathbb{R}^{n}}$ is realized through the
motors of the robot. Due to the use of rotational joints or prismatic joints
with end-stops, the configuration space of the robot is bounded. This implies
the boundedness of the eigenvalues of $M$.

###  IV-A Control objective

Assume that the user provides a finite number of tasks and a relative level of
strict priority among them. Tasks at a same level of priority can further have
a different weighting to specify their relative importance within the same
priority level. The tasks at level $k$ are expressed in coordinates as

$\displaystyle x_{i}=f_{k}(q)$ (18a) $\displaystyle\nu_{k}=J_{k}(q)\,\dot{q}\
,$ (18b)

for ${k\in\left\\{1,\ldots,r\right\\}}$,
${f_{k}:\mathbb{R}^{n}\rightarrow\mathbb{R}^{m_{k}}}$ and symmetric positive-
definite block-diagonal weighting matrix ${W_{k}\in\mathbb{R}^{m_{k}\times
m_{k}}}$. The dimensions of the blocks of $W_{k}$ are the ones of the tasks
with the same priority level $k$. The tasks in each priority level are
organized in a priority stack such that $x_{k}$ has a higher priority than
$x_{j}$, for all ${k<j}$. The total task dimension $m$ is given by
${m=\sum_{k=1}^{r}m_{k}}$. According to the notation of this paper, the whole
stack is
${x=\begin{bmatrix}x_{1}^{\top}&\ldots&x_{r}^{\top}\end{bmatrix}^{\top}\in\mathbb{R}^{m}}$.

###### Assumption 1

The total task dimension is not less than the DoF of the robot, i.e., ${m\geq
n}$. Moreover, the projected stack $\bar{J}$ is always full rank, i.e.,
${\operatorname{rank}(\bar{J})=n}$.

This means that tasks cannot be all singular at the same time. The previous
assumption can be easily satisfied by making sure that the stack always
contains a configuration task, i.e., a task whose Jacobian matrix is the
identity. For example, by adding it at the end of the stack.

For the $k$-th task a desired trajectory ${x^{d}_{k}(t)\in\mathbb{R}^{m_{k}}}$
is provided, together with the desired velocity coordinates and derivative,
i.e., $\nu^{d}_{k}(t)$ and $\dot{\nu}^{d}_{k}(t)$. As for the task
coordinates, the stack of desired trajectories will be denoted by omitting the
subscript, e.g., ${x^{d}\in\mathbb{R}^{m}}$. An equality task is fulfilled if
${x_{k}=x^{d}_{k}}$, while, without loss of generality, an inequality task is
fulfilled if ${x_{k}>x^{d}_{k}}$. If the task involves only velocity, the
previous relationship for position coordinates are void.

Intuitively, the goal of the controller is to let the robot follow a
trajectory in state space that results in task-space trajectories that are as
close as possible to the desired ones, while respecting the priority levels of
the tasks.

##  V Compliant Hierarchical Control Laws

A first-order kinematic solution of the problem formulated in the previous
section, is given by solving the WHQP

$\displaystyle\underset{\dot{q},w_{1},\ldots,w_{r}}{\textrm{lex min}}$
$\displaystyle\left\\{\frac{1}{2}w_{1}^{\top}W_{1}w_{1},\ldots,\frac{1}{2}w_{r}^{\top}W_{r}w_{r}\right\\}$
(19a) s.t. $\displaystyle J_{k}\,\dot{q}\geq x_{k}^{d}+w_{k}$ (19b)

but it is unclear at this stage how this can be used to compute a control
torque $\tau$ leading to a compliant closed-loop system.

The design of the control law hinges on the computation of a change of
coordinates obtained via a careful examination of the solution of (19). In
fact, since in Alg. 1 the optimal solution is given by the active set only,
then one can write

$\displaystyle\dot{q}=\sum_{k\in\mathcal{A}}\bar{A}_{k}^{+}v_{k}=\sum_{k\in\mathcal{A}}Z_{k-1}Y_{k}L_{k}^{-1}U_{k}^{\top}v_{k}$
(20)

where only the WMPI of the active tasks and corresponding $v_{k}$ play a role.
Moreover, it is worth to remember that $U_{k}$ is a base of the range space
for the active tasks at level $k$. This suggests that the mapping
${\xi=F\dot{q}}$, with

$\displaystyle F^{-1}=\begin{bmatrix}\cdots&Z_{k-1}Y_{k}&\cdots\end{bmatrix}$
(21a) $\displaystyle F=F^{-\top}M$ (21b)

for $k\in\mathcal{A}$, can be used to express the dynamic model of the robot
in the active-tasks space and then design passivity-based compliant
controllers in the new coordinates. Using the new velocity coordinates $\xi$
and the new control input ${f=F^{-\top}\big{(}\tau-g\big{)}}$ the model (17)
can be rewritten as

$\displaystyle\dot{q}=F^{-1}\xi$ (22a) $\displaystyle\dot{\xi}+\Gamma\xi=f$
(22b)

where notably the transformed inertia matrix is the identity, thanks to the
definition of $F$ i.e., ${F^{-\top}MF^{-1}=FF^{-1}=E}$, and the transformed
Coriolis matrix

$\displaystyle\Gamma=F^{-\top}\Big{(}CF^{-1}+M\frac{\textrm{d}}{\textrm{d}t}(F^{-1})\Big{)}$
(23)

is skew-symmetric, in view of the passivity property [16] of the model (17).
Clearly such a coordinates transformation is possible if and only if one can
compute the time derivative of $F^{-1}$ to obtain $\Gamma$. Appendix C shows
how this can be achieved by proposing an algorithm to differentiate the
compact COD. Notice that both $\xi$ and $f$ can be thought of as stacked
vectors with each block corresponding to one of the active tasks. Finally,
Assumption 1 guarantees that $F$ is always square and invertible. However, the
number of active tasks and the dimension of each of them is not fixed, rather
it is automatically adjusted by the WHQP given the rank of each task in the
stack and the priority levels. Still, $F^{-1}$ always exists and it is
differentiable.

Having the model in the new coordinates, it is easy to design a compliant
control law as follows:

$\displaystyle\tau=g+F^{\top}\big{(}\dot{\xi}^{r}+\Gamma_{d}\xi^{r}+\Gamma_{s}\xi-D(\xi-\xi^{r})\big{)}$
(24)

where we have a combination of feedforward, feedback and cancellation terms.
Given the error term ${\tilde{x}=x-x^{d}}$, $\xi^{r}$ appearing in the control
law is computed by stacking

$\displaystyle\xi_{k}^{r}=L_{k}^{-1}U_{k}^{\top}\big{(}\nu_{k}^{d}-\bar{K}\tilde{x}_{k}\big{)}$
(25)

for $k\in\mathcal{A}$. Moreover, the matrices $\Gamma_{d}$ and $\Gamma_{s}$
are such that ${\Gamma=\Gamma_{d}+\Gamma_{s}}$, with $\Gamma_{d}$ obtained by
extracting the blocks on the diagonal, each of dimension of the corresponding
active task. Therefore, it follows that both $\Gamma_{d}$ and $\Gamma_{s}$ are
skew-symmetric as well. Lastly, ${\bar{K}\in\mathbb{R}^{m\times m}}$ and
${D\in\mathbb{R}^{n\times n}}$ are symmetric and positive definite gain
matrices. To avoid coupling between the tasks, these matrices are block-
diagonal.

###### Remark 2

It is worth to highlight the connection with the passivity-based compliance
control proposed in [16], since most of the works on this topic extend the
results presented therein. By redefining $\xi$ and $F^{-1}$ in a way that the
factors $L_{k}^{-1}$ are moved from $\xi$ to $F^{-1}$ (denote them by
$\xi^{\prime}$ and $F^{\prime}$), one obtains that $\xi^{\prime}$ contains
directly the task velocity $\dot{x}_{1}$ if $J_{1}$ is full rank. If one
creates a stack in which this task is followed by a configuration task, then
$F^{\prime}$ performs the same change of coordinates as ${J_{N}}$ in [16].
Moreover, the block-diagonal structure of the transformed inertia matrix is
given by ${L_{k}^{-\top}L_{k}^{-1}}$. In other words, while $\xi$ correspond
to active tasks momenta, $\xi^{\prime}$ are active tasks velocities.

###  V-A Summary and Discussion

The implementation of the proposed controller can be thought of as separated
in two steps: firstly a Weighted Hierarchical Active Search is performed to
find the active set, given the stack of tasks that the robot needs to perform;
secondly the matrices required to compute the control torques are extracted
from the corresponding active set. The search of the active set provides an
automatic way to obtain task coordinates consistent with the priority levels.
The proposed controller is also robust to singularity because singular
directions will be removed from the active set in favor of the next candidates
in the stack. This happens naturally and automatically since when a task
becomes singular, it is reflected directly in the factors of the COD.

The term multiplying $F^{\top}$ in (24) is the new control input $f$ and
therefore a generalization of the Slotine-Li controller [23], except that
special care is required for the position coordinates. As a sketch, one can
think of the configuration manifold as an embedded Riemannian submanifold in
the higher dimensional linear space given by all the tasks. Keeping in mind
that the Riemannian gradient of a function is given by projecting a smooth
extension defined in the embedding space onto the tangent space of the
embedded submanifold [24, Chapter 3], one can connect the terms in the control
law to projections in the space of active tasks to show local stability of the
closed-loop system. A detailed analysis is at this stage beyond the scope of
the work.

Finally, external forces collocated with each task appear in the model upside
down, so one need to measure the external interaction if a complete decoupling
is wished [14].

##  VI Validation

The control law is validated in simulation using a Franka Emika Panda robot.
This $7$-DoF manipulator is often used in research and therefore the result of
this work could be relatively easily replicated by the interested readers.
Similarly, although a proprietary implementation of the WHQP has been used for
the validation of the proposed approach, Section III has clearly reported the
two minor modifications that need to be performed to the HQP, for which open
source implementations are available [7].

Figure 1: Simulated Franka Emika Panda robot with relevant frames, desired
trajectory (purple spiral) and allowed region (green square).

The robot is required to track the spiraling trajectory in Fig. 1 with its
TCP, while changing its orientation in a non-trivial way consisting of a
rotation around a moving axis (see Fig. 2-4 for the precise time evolution of
the desired rotation matrix). In addition, the square in Fig. 1 represents the
admissible space in which the TCP is allowed to stay at all times. As a
result, the robot is only able to track the portion of the trajectory within
the square and the scenario is used to exemplify how both equality and
inequality tasks can be handled by the proposed approach. Finally, the
tracking of the trajectory for the position is weighted with the requirement
of keeping the TCP at the center of the spiral, as an example of soft
priorities. The complete list of tasks in decreasing level of priority is:

  * •

Priority 1: Orientation tracking.

  * •

Priority 2: TCP’s $x$ and $y$ position coordinates within the square.

  * •

Priority 3: Tracking of the spiral weighted with regulation towards its
center.

  * •

Priority 4: Keep initial joint configuration.

The weighting of the two tasks at level 3 is used to show how the approach can
include both strict and soft priorities. In particular, Fig. 2 and Fig. 3 show
that with very skewed weights the resulting behavior tends towards the one
obtained with strict priorities, while Fig. 4 shows a compromise between the
two tasks when the weights are equal.

Figure 2: Non-trivial part of the homogeneous transformation matrices for the
case of tracking weight much bigger than the regulation weight. The desired
orientation in orange is perfectly tracked (actual values in blue), since the
orientation is the first task in the stack. The position is tracked as long as
the desired trajectory is within the admisable box. Figure 3: Non-trivial part
of the homogeneous transformation matrices for the case of tracking weight
much smaller than the regulation weight. While there is no change in the
orientation, since it is the first task in the stack, the position of the TCP
now converges to the center of the spiral. Figure 4: Non-trivial part of the
homogeneous transformation matrices for the case of tracking weight equal to
the regulation weight. Also in this case, there is no change for the
orientation. Nevertheless, the position of the TCP is in between the tracking
of the spiral and reaching its center.

#### Priority 1

The desired velocity is the desired angular velocity $\omega_{d}$, while the
configuration error is given by the vector part of the quaternion error
extracted from the actual and desired orientation matrices. This corresponds
to a reference term given by ${\omega^{r}=\omega_{d}-K_{1}e_{o}}$, where
${K_{1}=12E_{3\times 3}}$ in SI units. The motivation is that
${\omega=\omega^{r}}$ guarantees that the desired orientation is tracked [25].

#### Priority 2

This inequality tasks are implemented using reference terms of the type
${p_{i}^{r}=-k_{2}\big{(}p_{i}-b_{i}\big{)}}$, where each $p_{i}$ is a
coordinate of the TCP in the horizontal plane, $b_{i}$ the corresponding box
bound and ${k_{2}=10}$ in SI units. Therefore, ${K_{2}=10E_{4\times 4}}$. The
motivation is that ${\dot{p}\geq p^{r}}$ guarantees that $p$ stays within the
bounds $b$ [26].

#### Priority 3

Given the desired spiral values $s^{d}$ and $\dot{s}^{d}$, with center at
$c^{d}$, the reference term is obtained stacking
${\dot{s}^{d}-K_{3}^{\prime}\big{(}p-s^{d}\big{)}}$ and
${-K_{3}^{\prime}\big{(}p-c^{d}\big{)}}$, with ${K_{3}^{\prime}=5E_{3\times
3}}$ in SI units and
${K_{3}=\operatorname{diag}(K_{3}^{\prime},K_{3}^{\prime})}$. The values of
$W_{3}$ used in the 3 cases are ${\operatorname{diag}(E_{3\times
3},10^{-6}E_{3\times 3})}$, ${\operatorname{diag}(10^{-6}E_{3\times
3},E_{3\times 3})}$ and ${E_{6\times 6}}$ respectively.

#### Priority 3

The reference term is ${-K_{4}\big{(}q-q_{0}\big{)}}$, with ${q_{0}}$ the
initial configuration and ${K_{4}=14E_{7\times 7}}$ in SI units.

Finally, $\bar{K}$ is the block-diagonal matrix obtained from the blocks
$K_{k}$, ${k\in\left\\{1,2,3,4\right\\}}$, while $D$ is obtained by extracting
the blocks corresponding to the active tasks from $\bar{D}$, which was set to
be numerically equal to $\bar{K}$.

##  VII Conclusion

Optimization-based hierarchical control has proven useful to automatically
address multiple tasks with given priorities levels and to include both
equality and inequality tasks. At the same time, passivity-based controllers
are very popular to create a compliant behavior of the system without
requiring measurements of the external torques. Nevertheless, since the design
of passivity-based controllers uses a diffeomorphism between joint-space
velocities and task velocities, restrictive assumptions are usually made to
combine hierarchical control and passivity-based control, e.g., only equality
tasks are allowed. This work has shown that these assumptions can be lifted by
using the COD of the active task set of a Weighted Hierarchical Quadratic
Problem, which finds an optimal solution given all the tasks and corresponding
strict and soft priorities. The result is an algorithm that allows the user to
freely provide as many equality and inequality tasks as required, without any
particular attention to guarantee a priory that the tasks will not become
singular during execution. The occurrence of singularities is automatically
handled in the Weighted Hierarchical Active Search by using the DoFs released
by a singular task to execute the next task in the stack according to the
priority levels.

##  Appendix A Optimality conditions

The optimal solution of (10) can be computed using the Lagrangian method. This
leads to the system of equations:

$\displaystyle W_{k}w_{k}=\lambda_{k}$ (26)
$\displaystyle\mathbf{\bar{A}}^{\top}_{k-1}\,\mathbf{\lambda}_{k-1}+A^{\top}_{k}\,\lambda_{k}=0$
(27)
$\displaystyle\mathbf{\bar{A}}_{k-1}\,x^{(k)}=\mathbf{\bar{A}}_{k-1}x^{(k-1)}$
(28) $\displaystyle A_{k}\,x^{(k)}=b_{k}+w_{k}$ (29)

Assume as induction step that
${x^{(k-1)}=\mathbf{\bar{A}}^{+}_{k-1}\,\mathbf{v}_{k-1}}$, with
${\mathbf{v}_{1}=b_{1}}$, then it follows that to keep satisfying the previous
constraints, the solution at the current step is written as

$\displaystyle
x^{(k)}=\mathbf{\bar{A}}^{+}_{k-1}\,\mathbf{v}_{k-1}+P_{k-1}x_{p}$ (30)

where $x_{p}$ can be freely chosen to best satisfy the additional constraints
of the $k$-th level. That is

$\displaystyle
A_{k}\,\mathbf{\bar{A}}^{+}_{k-1}\,\mathbf{v}_{k-1}+\bar{A}_{k}x_{p}=b_{k}+w_{k}$
(31)

and therefore defining
${v_{k}=b_{k}-A_{k}\,\mathbf{\bar{A}}^{+}_{k-1}\,\mathbf{v}_{k-1}}$ and
setting ${x_{p}=\bar{A}^{+}_{k}\,v_{k}}$, the primal solutions are

$\displaystyle x^{(k)}=\mathbf{\bar{A}}^{+}_{k}\,\mathbf{v}_{k}$ (32)
$\displaystyle w_{k}=-\big{(}E-\bar{A}_{k}\bar{A}^{+}_{k}\big{)}v_{k}$ (33)

where $w_{k}$ is computed from
$-w_{k}=b_{k}-A_{k}x^{(k)}=b_{k}-A_{k}\mathbf{\bar{A}}^{+}_{k-1}\,\mathbf{v}_{k-1}-\bar{A}_{k}\bar{A}^{+}_{k}\,v_{k}=v_{k}-\bar{A}_{k}\bar{A}^{+}_{k}\,v_{k}$.

Last the dual variables $\mathbf{\lambda}_{k-1}$ need to be computed by
solving
${\mathbf{\bar{A}}^{\top}_{k-1}\,\mathbf{\lambda}_{k-1}=-A^{\top}_{k}w_{k}}$,
leading to

$\displaystyle\mathbf{\lambda}_{k-1}=-\mathbf{\bar{A}}^{+\top}_{k-1}A^{\top}_{k}\lambda_{k}$
(34)

which can be proved to be the solution by checking whether
${\mathbf{\bar{A}}^{\top}_{k-1}\mathbf{\bar{A}}^{+\top}_{k-1}A^{\top}_{k}=A^{\top}_{k}}$.
This is indeed the case because

$\displaystyle A_{k}\mathbf{\bar{A}}^{+}_{k-1}\mathbf{\bar{A}}_{k-1}$
$\displaystyle=A_{k}\Big{(}E-\sum_{i=k}^{r}\bar{A}^{+}_{i}\bar{A}_{i}\Big{)}=A_{k}$
(35)

since
${A_{k}\begin{bmatrix}\bar{A}^{+}_{k}&\ldots&\bar{A}^{+}_{r}\end{bmatrix}=0}$
due to (8), see [9].

##  Appendix B Projected Stack via COD

###### Lemma 1

The WMPI $A^{\dagger_{{}_{W_{1},W_{0}}}}$ can be computed as
${W_{0}^{-1}A^{\top}R_{1}^{\top}(R_{1}AW_{0}^{-1}A^{\top}R_{1}^{\top})^{\dagger}R_{1}^{\top}}$.

###### Proof:

The result follows directly from the identity
${A^{\dagger}=A^{\top}(AA^{\top})^{\dagger}}$ and
${A^{\dagger_{{}_{W_{1},W_{0}}}}=R_{0}^{-1}\hat{A}^{\dagger}R_{1}^{\top}}$
with ${\hat{A}=R_{1}AR_{0}^{-1}}$. ∎

Given the previous lemma, one can show that each of the nullspace projectors
$P_{k}$ can be expressed as

$\displaystyle P_{k}=Z_{k}Z^{\top}_{k}M$ (36)

with ${Z_{k}^{\top}MZ_{k}=E}$ and the advantage that while all $P_{k}$ are
square and with dimension $n$, $Z_{k}$ has as many columns as the remaining
DoFs at level $k$. Therefore, $Z_{k}$ will be eventually empty when all the
DoFs have been used up by the tasks. This can be proved by induction, as it is
certainly true for $P_{0}$ with ${Z_{0}=R_{0}^{-1}}$. Assume the condition
true for $P_{k}$, then

$\displaystyle\bar{A}_{k+1}=R_{k+1}^{-1}\hat{A}_{k+1}Z^{\top}_{k}M$ (37)
$\displaystyle\hat{A}_{k+1}=R_{k+1}A_{k+1}Z_{k}$ (38)

from which

$\displaystyle\begin{split}\bar{A}_{k+1}^{+}&=M^{-1}\bar{A}_{k+1}^{\top}R_{k+1}^{\top}(R_{k+1}\bar{A}_{k+1}M^{-1}\bar{A}_{k+1}^{\top}R_{k+1}^{\top})^{\dagger}R_{k+1}\\\
&=Z_{k}\hat{A}^{\top}_{k+1}\big{(}\hat{A}_{k+1}\hat{A}_{k+1}^{\top}\big{)}^{\dagger}R_{k+1}=Z_{k}\hat{A}_{k+1}^{\dagger}R_{k+1}\end{split}$
(39)

and therefore

$\displaystyle
N_{k+1}=E-\bar{A}_{k+1}^{+}\bar{A}_{k+1}=E-Z_{k}\hat{A}_{k+1}^{\dagger}\hat{A}_{k+1}Z_{k}^{\top}M$
(40)
$\displaystyle\begin{split}&P_{k+1}=P_{k}N_{k+1}=Z_{k}Z_{k}^{\top}M-Z_{k}\hat{A}_{k+1}^{\dagger}\hat{A}_{k+1}\hat{Z}_{k}M\\\
&\phantom{P_{k+1}}=Z_{k}\big{(}E-\hat{A}_{k+1}^{\dagger}\hat{A}_{k+1}\big{)}Z_{k}^{\top}M\end{split}$
(41)

The proof is completed by computing the MPI of $\hat{A}_{k+1}$ via COD, which
additionally clarifies how to compute each $Z_{k}$. For each matrix, we have

$\displaystyle\hat{A}_{k}=\begin{bmatrix}V_{k}&U_{k}\end{bmatrix}\begin{bmatrix}0&0\\\
L_{k}&0\end{bmatrix}\begin{bmatrix}Y_{k}&\tilde{Z}_{k}\end{bmatrix}^{\top}=U_{k}L_{k}Y_{k}^{\top}$
(42)

where $\begin{bmatrix}V_{k}&U_{k}\end{bmatrix}$ and
$\begin{bmatrix}Y_{k}&\tilde{Z}_{k}\end{bmatrix}$ are two orthogonal matrices,
$U_{k}$ being a basis of the range space of $\hat{A}_{k}$, while
$\tilde{Z}_{k}$ is a base of its kernel. Finally, $L_{k}$ is a lower
triangular matrix with strictly nonzero diagonal. If $\hat{A}_{k}$ is full-row
rank, $U_{k}$ is the identity and $V_{k}$ is empty. Using the COD,

$\displaystyle\hat{A}_{k+1}^{\dagger}=Y_{k+1}L_{k+1}^{-1}U_{k+1}^{\top}$ (43)
$\displaystyle
E-\hat{A}_{k+1}^{\dagger}\hat{A}_{k+1}=E-Y_{k+1}Y_{k+1}^{\top}=\tilde{Z}_{k+1}\tilde{Z}_{k+1}^{\top}$
(44)

therefore defining $Z_{k}$ via the recursion (16), one gets

$\displaystyle P_{k+1}$
$\displaystyle=Z_{k}\tilde{Z}_{k+1}\tilde{Z}_{k+1}^{\top}Z_{k}^{\top}M=Z_{k+1}Z_{k+1}^{\top}M$
(45)

and the proof by induction is concluded. Moreover, using the COD of
$\hat{A}_{k}$, the following holds

$\displaystyle\bar{A}_{k}=R_{k}^{-1}U_{k}L_{k}Y_{k}^{\top}Z_{k-1}^{\top}M$
(46) $\displaystyle\bar{A}_{k}^{+}=Z_{k-1}Y_{k}L_{k}^{-1}U_{k}^{\top}R_{k}\ .$
(47)

##  Appendix C COD Differentiation

The COD plays a central role both from a numerical point of view for the
computation of the WMPI and from a theoretical point of view for proving the
existence of the coordinate transformation that embeds the configuration
manifold in the hierarchical task space.

Due to the non-uniqueness of the COD, it is not possible to compute its
differentiation, unless one focuses on the compact COD only. Luckily, this is
exactly what is needed to obtain the hierarchical active set and correspondent
coordinate transformation. Assume without loss of generality that
${A\in\mathbb{R}^{m\times n}}$, with ${m\geq n}$ and
${r_{A}=\operatorname{rank}(A)\leq n}$. Moreover, the columns of $A$ have been
permuted so that the QR decomposition is sorted, i.e., ${A=A^{\prime}\Pi}$,
with $\Pi$ a permutation matrix, therefore whose entries are either zero or
one. From partitioning the QR decomposition of ${A=QR}$ follows:

$\displaystyle\begin{bmatrix}A_{1}&A_{2}\end{bmatrix}=\begin{bmatrix}Q_{1}&Q_{2}\end{bmatrix}\begin{bmatrix}R_{1}&R_{2}\\\
O&O\end{bmatrix}$ (48)
$\displaystyle\dot{A}_{1}=\dot{Q}_{1}R_{1}+Q_{1}\dot{R}_{1}$ (49)
$\displaystyle
Q^{\top}\dot{A}_{1}R_{1}^{-1}=\begin{bmatrix}Q_{1}^{\top}\dot{Q}_{1}\\\
Q_{2}^{\top}\dot{Q}_{1}\end{bmatrix}+\begin{bmatrix}\dot{R}_{1}R_{1}^{-1}\\\
O\end{bmatrix}$ (50)

with ${R_{1}\in\mathbb{R}^{r_{A}\times r_{A}}}$ and the others of obvious
dimensions. Since $Q$ is orthogonal, ${Q_{1}^{\top}\dot{Q}_{1}}$ is skew-
symmetric, while ${\dot{R}_{1}R_{1}^{-1}}$ is upper-triangular. Therefore, one
can reconstruct ${Q_{1}^{\top}\dot{Q}_{1}}$ from the lower-triangular part of
the first $r_{A}$ rows of ${Q^{\top}\dot{A}_{1}R_{1}^{-1}}$, while the last
$m-r_{A}$ rows are exactly ${Q_{2}^{\top}\dot{Q}_{1}}$. By stacking the two
blocks obtained in this way and pre-multiplying them by $Q$, one obtains
$\dot{Q}_{1}$.

The second step of the procedure starts by using Givens rotations to zero the
entries in $R_{2}$ via an orthogonal matrix $U$, so that ${RU=P}$ and
${\begin{bmatrix}R_{1}&R_{2}\end{bmatrix}U=\begin{bmatrix}P_{1}&O\end{bmatrix}}$

$\displaystyle A=QPU^{\top}=Q_{1}P_{1}U_{1}^{\top}$ (51)
$\displaystyle\begin{split}&P_{1}^{-1}Q_{1}^{\top}\dot{A}U=\big{(}P_{1}^{-1}Q_{1}^{\top}\dot{Q}_{1}P_{1}+P_{1}^{-1}\dot{P}_{1}\big{)}\begin{bmatrix}E&O\end{bmatrix}\\\
&\phantom{P_{1}^{-1}Q_{1}^{\top}\dot{A}U=}+\begin{bmatrix}\dot{U}_{1}^{\top}U_{1}&\dot{U}_{1}^{\top}U_{2}\end{bmatrix}\\\
\end{split}$ (52)

Since ${Q_{1}^{\top}\dot{Q}_{1}}$ was computed in the previous step, while as
before ${\dot{U}_{1}^{\top}U_{1}}$ is skew-symmetric and
${P_{1}^{-1}\dot{P}_{1}}$ is upper-triangular, one can reconstruct
${\dot{U}_{1}^{\top}U_{1}}$ from the lower-triangular part of the first
$r_{A}$ columns of ${P_{1}^{-1}Q_{1}^{\top}\dot{A}U}$, while the last
$n-r_{A}$ are exactly ${\dot{U}_{1}^{\top}U_{2}}$. By stacking
${U_{1}^{\top}\dot{U}_{1}}$, ${U_{2}^{\top}\dot{U}_{1}}$ and pre-multiplying
them by $U$, one obtains $\dot{U}_{1}$. Finally, since
${P_{1}^{-1}\dot{P}_{1}}$ is the only term left unknown in (52), one can
isolate it and pre-multiplying by $P_{1}$ to obtain $\dot{P}_{1}$.

## Acknowledgment

The author would like to thank Mikael Norrlof and Giacomo Spampinato for their
suggestions on the draft.

## References

  * [1] J. Salini, V. Padois, and P. Bidaud, “Synthesis of complex humanoid whole-body behavior: A focus on sequencing and tasks transitions,” in _IEEE Int. Conf. on Robotics and Automation (ICRA)_ , Shanghai, China, May 2011, pp. 1283–1290.
  * [2] F. L. Moro, M. Gienger, A. Goswami, N. G. Tsagarakis, and D. G. Caldwell, “An attractor-based whole-body motion control (wbmc) system for humanoid robots,” in _2013 13th IEEE-RAS International Conference on Humanoid Robots (Humanoids)_ , Atlanta, USA, Oct. 2013, pp. 42–49.
  * [3] N. Dehio, R. F. Reinhart, and J. J. Steil, “Multiple task optimization with a mixture of controllers for motion generation,” in _IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)_ , Hamburg, Germany, Sept. 2015, pp. 6416–6421.
  * [4] K. Bouyarmane and A. Kheddar, “On weight-prioritized multitask control of humanoid robots,” _IEEE Trans. on Automatic Control_ , vol. 63, no. 6, pp. 1632–1647, 2018.
  * [5] J. Englsberger, A. Dietrich, G. Mesesan, G. Garofalo, C. Ott, and A. Albu-Schäffer, “MPTC – Modular Passive Tracking Controller for stack of tasks based control frameworks,” in _Proceedings of Robotics: Science and Systems_ , Corvalis, USA, July 2020.
  * [6] B. Siciliano and J.-J. E. Slotine, “A general framework for managing multiple tasks in highly redundant robotic systems,” in _Fifth International Conference on Advanced Robotics (ICAR)_ , Pisa, Italy, June 1991, pp. 1211–1216.
  * [7] A. Escande, N. Mansard, and P.-B. Wieber, “Hierarchical quadratic programming: Fast online humanoid-robot motion generation,” _Int. Journal of Robotics Research_ , vol. 33, no. 7, pp. 1006–1028, 2014.
  * [8] C. Ott, A. Dietrich, and A. Albu-Schäffer, “Prioritized multi-task compliance control of redundant manipulators,” _Automatica_ , vol. 53, pp. 416–423, 2015.
  * [9] G. Garofalo and C. Ott, “Hierarchical tracking control with arbitrary task dimensions: Application to trajectory tracking on submanifolds,” _IEEE Robotics and Automation Letters (RA-L)_ , vol. 5, no. 4, pp. 6153–6160, 2020.
  * [10] O. Kanoun, F. Lamiraux, and P.-B. Wieber, “Kinematic control of redundant manipulators: Generalizing the task-priority framework to inequality task,” vol. 27, no. 4, pp. 785–792, 2011.
  * [11] A. Herzog, N. Rotella, S. Mason, F. Grimminger, S. Schaal, and L. Righetti, “Momentum control with hierarchical inverse dynamics on a torque-controlled humanoid,” _Autonomous Robots_ , vol. 40, no. 3, pp. 473–491, 2016.
  * [12] D. J. Agravante, G. Claudio, F. Spindler, and F. Chaumette, “Visual servoing in an optimization framework for the whole-body control of humanoid robots,” _IEEE Robotics and Automation Letters (RA-L)_ , vol. 2, no. 2, pp. 608–615, 2017.
  * [13] S. Fahmi, C. Mastalli, M. Focchi, and C. Semini, “Passive whole-body control for quadruped robots: Experimental validation over challenging terrain,” _IEEE Robotics and Automation Letters (RA-L)_ , vol. 4, no. 3, pp. 2553–2560, 2019.
  * [14] X. Wu, C. Ott, A. Albu-Schäffer, and A. Dietrich, “Passive decoupled multitask controller for redundant robots,” _IEEE Transactions on Control Systems Technology_ , vol. 31, no. 1, pp. 1–16, 2023.
  * [15] O. Khatib, “A unified approach for motion and force control of robot manipulators: The operational space formulation,” _IEEE Journal on Robotics and Automation_ , vol. 3, no. 1, pp. 43–53, 1987.
  * [16] C. Ott, A. Kugi, and Y. Nakamura, “Resolving the problem of non-integrability of nullspace velocities for compliance control of redundant manipulators by using semi-definite Lyapunov functions,” in _IEEE Int. Conf. on Robotics and Automation (ICRA)_ , Pasadena, USA, May 2008, pp. 1456–1463.
  * [17] L. Sentis and O. Khatib, “Synthesis of whole-body behaviors through hierarchical control of behavioral primitives,” _International Journal of Humanoid Robotics_ , vol. 2, no. 4, pp. 505–518, 2005.
  * [18] L. Righetti, J. Buchli, M. Mistry, and S. Schaal, “Inverse dynamics control of floating-base robots with external constraints: A unified view,” in _IEEE Int. Conf. on Robotics and Automation (ICRA)_ , Shanghai, China, May 2011, pp. 1085–1090.
  * [19] A. Del Prete, F. Nori, G. Metta, and L. Natale, “Prioritized motion–force control of constrained fully-actuated robots: “task space inverse dynamics”,” _Robotics and Autonomous Systems_ , vol. 63, pp. 150–157, 2015\.
  * [20] N. Dehio and J. J. Steil, “Dynamically-consistent generalized hierarchical control,” in _IEEE Int. Conf. on Robotics and Automation (ICRA)_ , Montreal, Canada, May 2019, pp. 1141–1147.
  * [21] A. Ben-Israel and T. N. E. Greville, _Generalized Inverses: Theory and Applications_. New York: Springer-Verlag, 2003.
  * [22] K. L. Doty, C. Melchiorri, and C. Bonivento, “A theory of generalized inverses applied to robotics,” _Int. Journal of Robotics Research_ , vol. 12, no. 1, pp. 1–19, 1993.
  * [23] J.-J. E. Slotine and W. Li, _Applied Nonlinear Control_. New Jersey: Prentice Hall, 1991.
  * [24] N. Boumal, _An Introduction to Optimization on Smooth Manifolds_. Cambridge: Cambridge University Press, 2023.
  * [25] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, _Robotics: Modelling, Planning and Control_. Springer Publishing Company, Incorporated, 2008.
  * [26] A. D. Ames, S. Coogan, M. Egerstedt, G. Notomista, K. Sreenath, and P. Tabuada, “Control barrier functions: Theory and applications,” in _2019 18th European Control Conference (ECC)_ , Naples, Italy, Aug. 2019, pp. 3420–3431.


The Quantum Theory of Fields, Vol. I (Foundations) and Vol. II (Modern
Applications). By Steven Weinberg. Cambridge University Press, Cambridge, U.
K. xxvi + 609 pp. for Vol. I (1995); xxi + 489 pp. for Vol. II (1996).

> “Men and Women are not content to comfort themselves with tales of gods and
> giants, or to confine their thoughts to the daily affairs of life; they also
> build telescopes and satellites and accelerators, and sit at their desks for
> endless hours working out the meaning of the data they gather. The effort to
> understand the universe is one of the very few things that lifts human life
> a little above the level of farce, and gives it some of the grace of a
> tragedy.”
>  S. Weinberg, in The First Three Minutes (1977).

I have been invited to write a review of these two volumes on the quantum
theory of fields. I consider it to be an honor to be so invited. My views are
necessarily personal. Nevertheless, I hope the reader shall find them of some
use in gaining the perspective of what is ahead of her if she is courageous
enough to commit herself to this Dirac–like monograph of over a thousand
pages. Perhaps a little preparatory reading shall be of immense help in this
journey for her. Therefore, I shall describe to you my own journey to these
two volumes in the hope that you, if you are a beginning student, shall find
these two volumes accessible when you first encounter them.

This long–awaited two–volume set by Professor Steven Weinberg is a deeply
personal and logical perspective on the quantum theory of fields. I found many
of these ideas, first, in a 1974–75 handwritten notes that Professor Weinberg
distributed to his class at Harvard and which Dr. Wayne Itano kindly sent to
me when later I was a graduate student at Texas A&M. In addition, as I have
noted in my review of Professor Lewis H. Ryder’s Quantum Field Theory, my
first introduction to Professor Weinberg’s ideas came via Professor Ryder’s
book. I still think that Professor Ryder’s book is an essential preparatory
reading for a beginning student before she embarks on her journey to these two
volumes of Professor Weinberg.

Next, I read three early papers of Weinberg entitled “Feynman Rules for Any
Spin” and many related papers. The first two papers in the “Feynman Rules for
Any Spin” series were published in Physical Review in 1964, and the third,
five years later, in 1969, in the same journal. My own copies of these three
papers are now worn out from use, with “p” in “Spin” slashed through by
Professor Roger Smith — a pun that, I am sure, Dick Feynman would have
enjoyed. To me these still make a good honest reading and I take pleasure that
now and then I have been able to find a small error in, or an appropriate
extension of, these works.

Professor Weinberg’s ideas, as is always the case with the original and
ever–young minds, are not static. So it was not too long ago that Professor
Weinberg wrote:

> “A distinguished nuclear physicist asked me not too long ago what I thought
> of a proposal to do an experiment on the scattering of a nucleus (I forget
> which nucleus) with spin–2, which aimed at finding out experimentally which
> relativistic wave equation that nucleus satisfied. This is all wrong. If you
> go into the streets of College Park and a passer–by asks you what is the
> Lorentz transformation of a particle of spin–$2$, you do not have to ask him
> if he is referring to a symmetric traceless tensor wave function, or a wave
> equation belonging to some other representation of the homogeneous Lorentz
> group that contains spin–2. All you have to do is $\ldots$ tell him that the
> states transform according to $j=2$ matrix representation of the of the
> rotation group (I promise you that if you do that the pedestrian will not
> ask you any more questions). The kinematic classification of particles
> according to their Lorentz transformation properties is entirely (for finite
> mass) determined by their familiar representation of the rotation group. It
> has nothing whatever to do with the choice of one relativistic wave equation
> rather than another.”
>
>
>
>
> S. Weinberg, Nucl. Phys. B (Proc. Suppl.) 6, 67 (1989).

The background for this argument is contained in the beginning chapters of the
“Foundations.” It is not clear to me if Professor Weinberg still holds this
view without any qualifications. For one thing, recently it has become
possible to construct a field theory in which a $(1,0)\oplus(0,1)$ boson and
its associated anti–boson carry opposite relative intrinsic parity. In the
standard description, in terms of a $(1/2,1/2)$ representation, spin-$1$
bosons and anti–bosons have the same relative intrinsic parity. Of course,
whether the boson–antiboson pair carries the same, or opposite, relative
intrinsic parities has experimental consequences. Generalizations of this
argument exist for spin–$2$ and higher. Moreover, interactions that are
“simplest” in one representation may look complicated in another, as Professor
Weinberg himself notes in Sec. 5.7.

In 1962 Professor Wigner, in a collaborative work with Professors V. Bargmann
and A. S. Wightman, suggested the possibility that unusual P, and CP,
properties of particles and antiparticles may exist within the kinematic
considerations that began with his 1939 work. However, no explicit constructs
for these unusual Wigner– (or “BWW–”) type field theories existed prior to
1993\. In this context Professor Weinberg (see p. 104) notes that “No examples
are known of particles that furnish unconventional representations of
inversions, so these possibilities will not be pursued further here.” In my
opinion, it is not yet clear what the general phenomenological and theoretical
implications of these newly discovered constructs are. The experimentalists,
and entering graduate students, should be made aware of these unusual
possibilities — or, so atleast is my opinion.

The structure of quantum field theory is exceedingly rich. This becomes
abundantly clear as one reflects on the presentation of Professor Weinberg.
For instance, at least a generation of physicists simply wrote down the
spin–$1/2$ rest spinors a la Bjorken and Drell. In Professor Weinberg’s
monograph the same result is obtained after reflections and calculations
spanning about five pages (see Sec. 5.5). I refer the reader to hep-
th/9702027, written by Professor Weinberg under the title “What is Quantum
Field Theory, and What Did We Think It Is?” for a very readable essay on the
logical structure of the theory of quantum field theory. In the cited essay
Professor Weinberg writes, “This has been an outline of the way I’ve been
teaching quantum field theory these many years. Recently I’ve put this all
together into a book, now being sold for a negligible price. The bottom line
is that quantum mechanics plus Lorentz invariance plus cluster decomposition
implies quantum field theory. But there are caveats that have to be attached
to this $\ldots$. ” It is not appropriate for me to comment on other chapters
of these monographs — even though almost all of them carry many original
arguments and derivations — for the simple reason that many others (much more
knowledgeable than I on these chapters) have already done so elsewhere in
various reviews already published. Some may find it a little strange that a
monograph of this nature contains no mention of theorists such as R. Arnowitt,
J. J. Sakurai, or E. C. G. Sudarshan, to mention just a few. The origin of
such omissions, in my opinion, may lie in the fact that this two–volume
monograph is a deeply personal perspective of its author.

In Professor Weinberg’s Gravitation and Cosmology some of us learned how the
empirically observed equivalence of the inertial and gravitational masses
yields Einstein’s general theory of relativity. In that book the starring role
was taken away from the geometric elements and was rightfully transferred to
the experimental facts. Now we learn how quantum mechanics, space–time
symmetries, and the requirement that spatially separated experiments yield
uncorrelated results, intermingle in such a manner as to result in a quantum
theory of fields. We may be approaching something close to the Landau and
Lifshitz classics inasfar as two of the most important aspects of modern
physics are now covered by one single author of relentless effort and
uncompromising honesty.

In the preface to the second volume Professor Weinberg notes “Perhaps
supersymmetry and supergravity will be the subjects of a Volume III.” Before
the Weinberg trilogy is completed, I hope we all have had the opportunity to
study, examine, and enjoy Professor Weinberg’s The Quantum Theory of Fields in
great detail. This work compares in its depth with P. A. M. Dirac’s The
Principles of Quantum Mechanics and without doubt goes far beyond the ambition
of providing a quick calculational recipe book. It is my opinion that The
Quantum Theory of Fields is a serious scholarly attempt to lift “life a little
above the level of farce.” It would be a tragedy, if the expediency of
finishing Ph.D.s and making calculations made The Quantum Theory of Fields a
bookshelf decoration.

D. V. Ahluwalia

Los Alamos National Laboratory

Los Alamos, NM 87545, USA.