This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Towards Exact Interaction Force Control for Underactuated Quadrupedal Systems with Orthogonal Projection and Quadratic Programming

Shengzhi Wang1, Xiangyu Chu1∗, and K. W. Samuel Au1 1The authors are with the Department of Mechanical and Automation Engineering at The Chinese University of Hong Kong, and with the Multiscale Medical Robotics Center, Hong Kong, China. *: Corresponding author. {shengzhiwang, xiangyuchu, samuelau}@mrc-cuhk.com
Abstract

Projected Inverse Dynamics Control (PIDC) is commonly used in robots subject to contact, especially in quadrupedal systems. Many methods based on such dynamics have been developed for quadrupedal locomotion tasks, and only a few works studied simple interactions between the robot and environment, such as pressing an E-stop button. To facilitate the interaction requiring exact force control for safety, we propose a novel interaction force control scheme for underactuated quadrupedal systems relying on projection techniques and Quadratic Programming (QP). This algorithm allows the robot to apply a desired interaction force to the environment without using force sensors while satisfying physical constraints and inducing minimal base motion. Unlike previous projection-based methods, the QP design uses two selection matrices in its hierarchical structure, facilitating the decoupling between force and motion control. The proposed algorithm is verified with a quadrupedal robot in a high-fidelity simulator. Compared to the QP designs without the strategy of using two selection matrices and the PIDC method for contact force control, our method provided more accurate contact force tracking performance with minimal base movement, paving the way to approach the exact interaction force control for underactuated quadrupedal systems.

I Introduction

Quadrupedal systems, whose six Degree of Freedom (DoF) floating base is considered to be passively connected to an inertial frame, are generally underactuated. To control such systems for locomotion and manipulation in real-world deployment, underactuation must be addressed while designing a whole-body controller. A paradigm based on orthogonal projection and Quadratic Programming (QP) has been exploited. Within it, a projection matrix stems from the contact between a foot or an additional arm and the environment, helping eliminate contact forces and thus reducing variables in optimization. Besides, the projection matrix can create two spaces: motion space and constraint space, allowing more freedom for task-oriented applications. QP can minimize a quadratic cost that resolves underactuation and accommodate constraints such as unilateral contact and friction cones. This paradigm normally works for locomotion tasks or simple interaction tasks like pressing an emergency button [1]. However, it is still open to using such a paradigm to achieve interaction applications that need exact force control. For example, as shown in Fig. 1, a robot uses one leg to keep pressing a button for allowing other robots to move into an elevator, and the robot can keep standing and have minimal base movement at the same time. In this case, exact force control is preferred for avoiding the robot’s falling since impedance control for inducing force may generate external force disturbance due to an unknown environment. Motivated by this need, in this paper, we focus on how the underactuated quadrupedal system applies an exact force to the environment subject to physical constraints and minimal disturbance on the robot’s base.

Refer to caption
Figure 1: A scenario of a quadrupedal robot exerting desired force on the environment. Here, exact interaction force control of the raised leg is preferred, because, on the one hand, it can succeed to maintain pressing the button and keep the elevator door open, and on the other hand, the robot will keep standing without falling.

Projection-based methods have a long history. Projected Inverse Dynamics Control (PIDC) was first proposed for fully-actuated systems in [2], paving the way to design controllers in motion and constraint space. Some researchers extended this idea to underactuated systems [3, 4, 5, 6]. For example, the work [4] used either null space motion or constraint forces to resolve underactuation without affecting task-space dynamics, while [6] only made use of constraint forces. The aforementioned studies focused on motion control levels, and their constraint forces do not need to be specially considered in the controller. To impose more authority on the constraint force for underactuated applications, the constraint force is optimized within constraint space to maintain contact [7, 8]. For example, [8] designed an optimization problem to seek the optimal contact wrenches that minimize torques while satisfying physical constraints and compensating external forces. Although the constraint force/wrench was specially treated, those methods still cannot provide an exact contact force actively since the force/wrench was implicitly manipulated. Previously, explicitly tracking desired contact forces in quadrupedal systems was implemented in [9] but required planning on both desired position trajectories and desired contact forces at the same time if imposing higher priority on force control than motion control, because desired accelerations affected realizable contact forces. The tracking of planned force profiles may not be suitable for tasks requiring fast reaction (e.g., tracking desired interaction force command from users); thus, a reactive control scheme is preferable.

To this end, to approach an exact force output, we propose a novel interaction force control scheme for underactuated quadrupedal systems in the sense of reaction control. It allows the system (e.g., using a foot) to apply a force as precisely as possible to the environment, without requiring force planning. Our scheme uses two QP designs that resolve the underactuation problem by splitting it into two orthogonal spaces: motion and constraint space, and then optimizing the cost in each space in a hierarchical order. Physical limitations (i.e., unilateral contact, torque limits, and friction cones) are also considered as inequality constraints in the design. To decouple force and motion control and accomplish the exact constraint force control as much as possible, we apply two selection matrices, in which one of them distributes the desired force control task to the designated joints, and another one selects the rest joints for the underlying motion task. For instance, as shown in Fig. 1, a quadrupedal robot uses its front right leg for force control, while the other three legs support its base and conduct the motion task of the base. These two selection matrices select the front right leg and the other three legs for the force and motion control, respectively. In summary, our control scheme is a reactive control (e.g., can respond to user-defined force inputs fast) that does not rely on any motion planning techniques and force sensors (FS), and induces minimal base motion.

The contributions of this paper are:

  • 1)

    Presenting a novel interaction force control scheme for underactuated quadrupedal systems that does not require motion planning and FS.

  • 2)

    For resolving the underactuation problem, we propose a hierarchical QP structure that minimizes the cost function for the motion and force control in motion and constraint space, respectively. To reduce the coupling effect between motion and force control, two selection matrices are deployed, allowing us to decouple force and motion to the greatest extent and thus approach the exact force control.

II Background

II-A Projected Inverse Dynamics with External Disturbance

The dynamics equation of a quadruped robot can be expressed as:

𝑴𝒒¨+𝒉=𝑩𝝉+𝑱cT𝝀+𝑱xT𝑭x,\bm{M}\ddot{\bm{q}}+\bm{h}=\bm{B}\bm{\tau}+\bm{J}_{c}^{T}\bm{\lambda}+\bm{J}_{x}^{T}\bm{F}_{x}, (1)

where 𝒒=[𝒒bT,𝒒jT]T\bm{q}=\left[\bm{q}_{b}^{T},\,\bm{q}_{j}^{T}\right]^{T} is the generalized coordinate vector including unactuated floating base coordinates 𝒒bSE(3)\bm{q}_{b}\in SE(3) and actuated joint configuration 𝒒jnj\bm{q}_{j}\in\mathbb{R}^{n_{j}}, 𝑴(6+nj)×(6+nj)\bm{M}\in\mathbb{R}^{(6+n_{j})\times(6+n_{j})} denotes the inertia matrix, 𝒉(6+nj)\bm{h}\in\mathbb{R}^{(6+n_{j})} is the non-linear effect consisting of Coriolis, centrifugal and gravitational forces, 𝑩=[𝟎nj×6,𝑰nj×nj]T\bm{B}=\left[\bm{0}_{n_{j}\times 6},\,\bm{I}_{n_{j}\times n_{j}}\right]^{T} is the selection matrix111Unlike the selection matrix in previous papers, the selection matrix here is not square. of actuated joints, 𝝉nj\bm{\tau}\in\mathbb{R}^{n_{j}} is the actuated joint torques, 𝑱ck×(6+nj)\bm{J}_{c}\in\mathbb{R}^{k\times(6+n_{j})} represents the constraint Jacobian with k=3nck=3n_{c} (ncn_{c} denotes the number of legs in contact with the environment and the contact is assumed as a point contact), 𝝀k\bm{\lambda}\in\mathbb{R}^{k} denotes the generalized constraint force vector used to control unactuated 𝒒b\bm{q}_{b}, 𝑱xne×(6+nj)\bm{J}_{x}\in\mathbb{R}^{n_{e}\times(6+n_{j})} is the Jacobian at 𝒙\bm{x}, and 𝑭xne\bm{F}_{x}\in\mathbb{R}^{n_{e}} is the external disturbances due to the interaction from human or environments.

During locomotion, the support feet should not slip, i.e., the constraint 𝑱c𝒒˙=𝟎\bm{J}_{c}\dot{\bm{q}}=\bm{0} must be satisfied. This constraint indicates that any admissible 𝒒˙\dot{\bm{q}} lies in the constraint null space 𝒩(𝑱c)\mathcal{N}\left(\bm{J}_{c}\right). According to [10], the dynamics equation (1)\eqref{dynEqa} can be projected into two subspaces by using the orthogonal projection matrix 𝑷\bm{P} and 𝑰𝑷\bm{I}-\bm{P} respectively as:

𝑷𝑴𝒒¨+𝑷𝒉=𝑷𝑩𝝉𝝉m+𝑷𝑱xT𝑭x,\bm{PM}\ddot{\bm{q}}+\bm{Ph}=\underbrace{\bm{PB\tau}}_{\bm{\tau}_{m}}+\bm{P}\bm{J}_{x}^{T}\bm{F}_{x}, (2)
(𝑰𝑷)(𝑴𝒒¨+𝒉)=(𝑰𝑷)𝑩𝝉𝝉c+𝑱cT𝝀+(𝑰𝑷)𝑱xT𝑭x,(\bm{I}-\bm{P})(\bm{M}\ddot{\bm{q}}+\bm{h})=\underbrace{(\bm{I}-\bm{P})\bm{B}\bm{\tau}}_{\bm{\tau}_{c}}+\bm{J}_{c}^{T}\bm{\lambda}+(\bm{I}-\bm{P})\bm{J}_{x}^{T}\bm{F}_{x}, (3)

where 𝑷=𝑰𝑱c+𝑱c\bm{P}=\bm{I}-\bm{J}_{c}^{+}\bm{J}_{c} implies that the orthogonal null space projection matrix is computed from the Moore-Penrose pseudoinverse of 𝑱c\bm{J}_{c} and projects vectors into the null space of the constraint, such that 𝑷=𝑷2=𝑷T\bm{P}=\bm{P}^{2}=\bm{P}^{T}, 𝑷𝑱cT=𝟎\bm{P}\bm{J}_{c}^{T}=\bm{0}, and 𝑷𝒒˙=𝒒˙\bm{P}\dot{\bm{q}}=\dot{\bm{q}} for all 𝒒˙𝒩(𝑱c)\dot{\bm{q}}\in\mathcal{N}\left(\bm{J}_{c}\right). Then 𝑰𝑷\bm{I}-\bm{P} represents the complementary projection into 𝒩(𝑱c)\mathcal{N}^{\perp}(\bm{J}_{c}).

To solve the equation of 𝝀\bm{\lambda}, 𝒒¨\ddot{\bm{q}} must be computed first. However, 𝒒¨\ddot{\bm{q}} cannot be obtained directly through pre-multiplying the inverse of 𝑷𝑴\bm{PM} in (2)\eqref{dynInP}, as 𝑷𝑴\bm{PM} cannot be inverted attributed to the rank deficiency of 𝑷\bm{P}. With the help of additional equations (𝑰𝑷)𝒒˙=𝟎(\bm{I}-\bm{P})\dot{\bm{q}}=\bm{0} and its derivative (𝑰𝑷)𝒒¨=𝑷˙𝒒˙(\bm{I}-\bm{P})\ddot{\bm{q}}=\dot{\bm{P}}\dot{\bm{q}} that are derived from 𝑷𝒒˙=𝒒˙\bm{P}\dot{\bm{q}}=\dot{\bm{q}}, 𝒒¨\ddot{\bm{q}} can be solved by substituting the latter equation into (2)\eqref{dynInP} as:

𝒒¨=𝑴c1(𝝉m𝑷𝒉+𝑷˙𝒒˙+𝑷𝑱xT𝑭x),\ddot{\bm{q}}=\bm{M}_{c}^{-1}(\bm{\tau}_{m}-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}}+\bm{P}\bm{J}_{x}^{T}\bm{F}_{x}), (4)

where 𝑴c=𝑷𝑴+𝑰𝑷\bm{M}_{c}=\bm{PM}+\bm{I}-\bm{P}. Equations (4) shows that only the motion torques 𝝉m\bm{\tau}_{m} contributes to the motion of the system, therefore 𝒩(𝑱c)\mathcal{N}\left(\bm{J}_{c}\right) is called the motion space as described in [6]. Similarly, because in (3)\eqref{dynInIMinusP} the 𝒒¨\ddot{\bm{q}} is fixed and constraint forces 𝝀\bm{\lambda} are free to choose depending on the constraint torques 𝝉c\bm{\tau}_{c}, 𝒩(𝑱c)\mathcal{N}^{\perp}(\bm{J}_{c}) is named the constraint space. Eventually, the constraint forces are obtained by inserting 𝒒¨\ddot{\bm{q}} into (3)\eqref{dynInIMinusP} and yields:

𝝀=(𝑱cT)+[\displaystyle\bm{\lambda}=(\bm{J}_{c}^{T})^{+}\Big{[} (𝑰𝑷)[𝑴¯(𝝉m𝑷𝒉+𝑷˙𝒒˙)+𝒉]𝝉c\displaystyle(\bm{I}-\bm{P})[\bar{\bm{M}}(\bm{\tau}_{m}-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}})+\bm{h}]-\bm{\tau}_{c} (5)
+(𝑰𝑷)(𝑴¯𝑷𝑰)𝑱xT𝑭x],\displaystyle+(\bm{I}-\bm{P})(\bar{\bm{M}}\bm{P}-\bm{I})\bm{J}_{x}^{T}\bm{F}_{x}\Big{]},

with 𝑴¯=𝑴𝑴c1\bar{\bm{M}}=\bm{M}\bm{M}_{c}^{-1}, and is the constraint inertia matrix and is always invertible [10]. More details can be found in [6].

II-B Cartesian Impedance Control in Task-Space

To achieve the desired locomotion behavior, a Cartesian impedance controller is applied to the robot. We start with a closed-loop system equation that reflects a mechanical impedance of the end-effector in multi-dimension to the external disturbance 𝑭x\bm{F}_{x}, as:

𝚲d𝒆¨+𝑲d𝒆˙+𝑲p𝒆=𝑭x,\bm{\Lambda}_{d}\ddot{\bm{e}}+\bm{K}_{d}\dot{\bm{e}}+\bm{K}_{p}\bm{e}=\bm{F}_{x}, (6)

where 𝒆=𝒙𝒙d\bm{e}=\bm{x}-\bm{x}_{d} denotes the pose error of the end-effector between the current and desired one, 𝚲d\bm{\Lambda}_{d}, 𝑲d\bm{K}_{d}, and 𝑲p\bm{K}_{p} are the desired task-space inertia, damping, and stiffness matrices. Note that the torso and swing feet can be treated as the end-effector during the controller design. Again, we apply the equation (𝑰𝑷)𝒒¨=𝑷˙𝒒˙(\bm{I}-\bm{P})\ddot{\bm{q}}=\dot{\bm{P}}\dot{\bm{q}}, as we compute the expression of 𝒒¨\ddot{\bm{q}} in Section II-A, to equation (2), then pre-multiply the resultant equation by 𝑱x𝑴c1\bm{J}_{x}\bm{M}_{c}^{-1}, replace 𝑱x𝒒¨\bm{J}_{x}\ddot{\bm{q}} with 𝒙¨𝑱x˙𝒒˙\ddot{\bm{x}}-\dot{\bm{J}_{x}}\dot{\bm{q}}, and pre-multiply it by the operational space inertia matrix 𝚲c=(𝑱x𝑴c1𝑷𝑱xT)1\bm{\Lambda}_{c}=(\bm{J}_{x}\bm{M}_{c}^{-1}\bm{P}\bm{J}_{x}^{T})^{-1}, the equation becomes:

𝚲c𝒙¨+𝒉c=𝚲c𝑱x𝑴c1𝑷𝑩𝝉+𝑭x,\bm{\Lambda}_{c}\ddot{\bm{x}}+\bm{h}_{c}=\bm{\Lambda}_{c}\bm{J}_{x}\bm{M}_{c}^{-1}\bm{PB}\bm{\tau}+\bm{F}_{x}, (7)

where 𝑱x\bm{J}_{x} is the task Jacobian defined by 𝒙˙=𝑱x𝒒˙\dot{\bm{x}}=\bm{J}_{x}\dot{\bm{q}}, and 𝒉c=𝚲c𝑱x𝑴c1(𝑷𝒉𝑷˙𝒒˙)𝚲c𝑱˙x𝒒˙\bm{h}_{c}=\bm{\Lambda}_{c}\bm{J}_{x}\bm{M}_{c}^{-1}(\bm{Ph}-\dot{\bm{P}}\dot{\bm{q}})-\bm{\Lambda}_{c}\dot{\bm{J}}_{x}\dot{\bm{q}} is the operational space non-linear effect. At this moment, we consider the robot is fully actuated, such that:

𝑷𝑩𝝉=𝑷𝑱xT𝑭d,x=𝝉m,d,\bm{PB\tau}=\bm{P}\bm{J}_{x}^{T}\bm{F}_{d,x}=\bm{\tau}_{m,d}, (8)

with 𝑭d,x\bm{F}_{d,x} is the designed control law, and 𝝉m,d\bm{\tau}_{m,d} is the desired motion torques. Then, equation (7)\eqref{unsimplified modified projection dynamics} will be simplified as:

𝚲c𝒙¨+𝒉c=𝑭d,x+𝑭x.\bm{\Lambda}_{c}\ddot{\bm{x}}+\bm{h}_{c}=\bm{F}_{d,x}+\bm{F}_{x}. (9)

The control law 𝑭d,x\bm{F}_{d,x} can be defined to achieve the impedance response of equation (6)\eqref{impedance_response} as:

𝑭d,x=𝒉c+𝚲c𝒙¨d𝑲d𝒆˙𝑲p𝒆,\bm{F}_{d,x}=\bm{h}_{c}+\bm{\Lambda}_{c}\ddot{\bm{x}}_{d}-\bm{K}_{d}\dot{\bm{e}}-\bm{K}_{p}\bm{e}, (10)

where 𝚲d=𝚲c\bm{\Lambda}_{d}=\bm{\Lambda}_{c} is assigned [11].

Remark 1.

Note that 𝚲c\bm{\Lambda}_{c} is not always determinable, since 𝐉x𝐌c1𝐏𝐉xT\bm{J}_{x}\bm{M}_{c}^{-1}\bm{P}\bm{J}_{x}^{T} is not invertible when 𝐉x\bm{J}_{x} has rank deficiency. We use Singular Value Decomposition (SVD) to remove the eigenvalues equal or close to zero for the approximation of 𝚲c\bm{\Lambda}_{c}.

Remark 2.

Consider the torso and swing feet as end-effectors, all 𝐉x\bm{J}_{x} above can be replaced by the Jacobian matrix of the torso 𝐉b6×(6+nj)\bm{J}_{b}\in\mathbb{R}^{6\times(6+n_{j})} and of the ii-th foot 𝐉i3×(6+nj)\bm{J}_{i}\in\mathbb{R}^{3\times(6+n_{j})}, and the control law 𝐅d,x\bm{F}_{d,x} can be represented by 𝐅d,b6\bm{F}_{d,b}\in\mathbb{R}^{6} for the torso and 𝐅d,i3\bm{F}_{d,i}\in\mathbb{R}^{3} for the foot.

II-C Contact Force Control in Constraint Space

Assumption 1.

The desired force 𝛌d\bm{\lambda}_{d} is selected within a feasible force region that will not cause the robot to fall. Determining the feasible force region is out of the scope of this paper.

As described in Section II-A, once 𝒒¨\ddot{\bm{q}} is determined, the contact forces can be controlled by applying corresponding constraint torques. This has been shown in [12, 13], where the robot executed a desired motion and applied a desired force at the contact point simultaneously. Here, we extend the constraint torques control law 𝝉c,d\bm{\tau}_{c,d} with the external disturbance by:

𝝉c,d=(𝑰𝑷)[\displaystyle\bm{\tau}_{c,d}=(\bm{I}-\bm{P})[ 𝑴¯(𝝉m,d𝑷𝒉+𝑷˙𝒒˙+𝑷𝑱xT𝑭x)+𝒉]\displaystyle\bar{\bm{M}}(\bm{\tau}_{m,d}-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}}+\bm{P}\bm{J}_{x}^{T}\bm{F}_{x})+\bm{h}] (11)
(𝑰𝑷)𝑱xT𝑭x𝑱cT𝝀d.\displaystyle-(\bm{I}-\bm{P})\bm{J}_{x}^{T}\bm{F}_{x}-\bm{J}_{c}^{T}\bm{\lambda}_{d}.
Remark 3.

The external force 𝐅x\bm{F}_{x} can be estimated by equation (6). In this case, the usage of the FS can be avoided.

The complete torque commands that can accomplish the desired motion and contact force are the sum of 𝝉m,d\bm{\tau}_{m,d} and 𝝉c,d\bm{\tau}_{c,d}, i.e.:

𝑩𝝉=𝝉d=𝝉m,d+𝝉c,d\bm{B}\bm{\tau}=\bm{\tau}_{d}=\bm{\tau}_{m,d}+\bm{\tau}_{c,d} (12)
Remark 4.

If the contact force control is not concerned, 𝛕c,d\bm{\tau}_{c,d} can be set to zero vector. In this case, the contact forces are controlled implicitly222This differs from the classical implicit force control., since from (11) 𝛕c,d=𝟎\bm{\tau}_{c,d}=\bm{0} implies:

𝝀d=(𝑱cT)+(𝑰𝑷)[\displaystyle\bm{\lambda}_{d}=(\bm{J}_{c}^{T})^{+}(\bm{I}-\bm{P})\Big{[} [𝑴¯(𝝉m,d𝑷𝒉+𝑷˙𝒒˙+𝑷𝑱xT𝑭x)\displaystyle[\bar{\bm{M}}(\bm{\tau}_{m,d}-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}}+\bm{P}\bm{J}_{x}^{T}\bm{F}_{x}) (13)
+𝒉]𝑱xT𝑭x],\displaystyle+\bm{h}]-\bm{J}_{x}^{T}\bm{F}_{x}\Big{]},

which are the contact forces (or in general, the constraint forces) needed to remain the constraint 𝐉c𝐪˙=𝟎\bm{J}_{c}\dot{\bm{q}}=\bm{0}. It reveals that when the PIDC method is considered for pure motion control, the contact forces required to satisfy the constraint are inherently fulfilled. This virtue has rarely been studied and discussed in the prior literature.

III Proposed Control Scheme

The schematic of our proposed controller can be seen in Fig. 2.

III-A Motivation

In Section II-B and II-C, the systems are assumed to be fully actuated when deriving the desired motion and constraint torque commands. However, 𝑩𝝉𝝉d\bm{B\tau}\neq\bm{\tau}_{d} in general for underactuated robots. To satisfy the underactuation constraint 𝑩𝝉=𝝉d\bm{B\tau}=\bm{\tau}_{d}, [7] extended the PIDC formulation for the underactuated systems to realize the contact-consistent motion and contact force control by adding an additional constraint torques (𝑰𝑷)𝝉u(\bm{I-P})\bm{\tau}_{u} to equation (12) as:

𝝉d\displaystyle\bm{\tau}_{d} =𝝉m,d+𝝉c,d+(𝑰𝑷)𝝉u\displaystyle=\bm{\tau}_{m,d}+\bm{\tau}_{c,d}+(\bm{I-P})\bm{\tau}_{u} (14)
=[𝑷𝑩]+𝝉m,d+[𝑰[(𝑰𝑩)(𝑰𝑷)]+](𝑰𝑷)𝝉c,d.\displaystyle=[\bm{PB}]^{+}\bm{\tau}_{m,d}+\left[\bm{I}-[(\bm{I}-\bm{B})(\bm{I}-\bm{P})]^{+}\right](\bm{I}-\bm{P})\bm{\tau}_{c,d}.

Indeed, the additional constraint torques (𝑰𝑷)𝝉u(\bm{I-P})\bm{\tau}_{u} does not generate any motion to violate the underlying task, but it derails the force control from its desired value, as 𝝉c,d\bm{\tau}_{c,d} and (𝑰𝑷)𝝉u(\bm{I-P})\bm{\tau}_{u} are both in the constraint space. In other words, this approach fails to achieve exact force control even at any of all contact points.

Exact interaction force control is an essential technique to accomplish many real tasks, e.g., grinding, polishing, and screwing. This control problem has been widely studied for fully actuated robots. Nevertheless, our work focuses on extending the PIDC framework for the underactuated systems, specifically, the floating base quadrupedal robots, towards exerting an accurate desired active force at the contact point.

Compared to the methods used in [6, 4, 7], we aim to directly find an optimal solution that solves the optimization problem min𝑩𝝉𝝉d2\min\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2} without inducing any additional null space components or constraint forces. However, because of the underactuation as mentioned in [5, 14], the desired motion and contact forces cannot be implemented by directly solving this optimization problem. Fortunately, [14] offers an idea of constrained hierarchical optimization that orthogonally decomposes the error norm into two subspaces at first,

𝑩𝝉𝝉d2=𝑩𝝉𝝉d𝑷2+𝑩𝝉𝝉d𝑰𝑷2,\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}=\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{P}}+\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{I}-\bm{P}}, (15)

where 𝑩𝝉𝝉d𝑷2\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{P}} and 𝑩𝝉𝝉d𝑰𝑷2\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{I}-\bm{P}} are the motion space and constraint space error norm, respectively. Then, the optimization problem of (15) will be solved hierarchically in the motion and constraint space. Following the constrained hierarchical optimization formulation, the rest of this section outlines our PIDC-based method for the contact force control of the underactuated robots without using FS at the contact point.

III-B Motion Control for Underlying Task

Refer to caption
Figure 2: Our proposed controller schematic.

As stated in [10], the constraint forces 𝝀\bm{\lambda} are affected by the constraint torques 𝝉c\bm{\tau}_{c} directly and motion torques 𝝉m\bm{\tau}_{m} indirectly via a cross-coupling factor μ=(𝑰𝑷)𝑴¯\mu=(\bm{I}-\bm{P})\bar{\bm{M}}. It is apparent that 𝝉m\bm{\tau}_{m} must be determined first, otherwise determining 𝝉m\bm{\tau}_{m} afterward would affect the contact force control. Similar ideas have also been seen in [12, 13, 7, 15, 8]. Therefore, the motion space error norm is minimized at first.

The selection matrix 𝑩\bm{B} can be decomposed into two selection matrices 𝑩=𝑩m+𝑩f\bm{B}=\bm{B}_{m}+\bm{B}_{f}, where 𝑩m\bm{B}_{m} selects the actuators to perform the desired underlying motion, and 𝑩f\bm{B}_{f} selects the actuators for the desired contact force control. An intuitive instance would be a quadruped robot using its front right leg to impose a desired contact force on the button while using the other legs to hold the desired torso pose, as shown in Fig. 1. In this case, 𝑩f\bm{B}_{f} activates the front right leg to exert the desired interaction force, whereas 𝑩m\bm{B}_{m} activates the remaining legs for the motion task. This decomposition of the selection matrix can also be generalized to other underactuation systems, e.g., collaborative manipulation of the multi-robot team on a free-floating object [7, 15, 8]. Based on the selection matrices design, (15) can be further decomposed into:

𝑩𝝉𝝉d𝑷2+𝑩𝝉𝝉d𝑰𝑷2\displaystyle\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{P}}+\left\|\bm{B\tau}-\bm{\tau}_{d}\right\|^{2}_{\bm{I}-\bm{P}} (16)
=\displaystyle= 𝑩m𝝉+𝑩f𝝉𝝉d𝑷2+𝑩m𝝉+𝑩f𝝉𝝉d𝑰𝑷2\displaystyle\|\bm{B}_{m}\bm{\tau}+\bm{B}_{f}\bm{\tau}-\bm{\tau}_{d}\|^{2}_{\bm{P}}+\|\bm{B}_{m}\bm{\tau}+\bm{B}_{f}\bm{\tau}-\bm{\tau}_{d}\|^{2}_{\bm{I}-\bm{P}}

where 𝑩f𝝉\bm{B}_{f}\bm{\tau} in motion space and 𝑩m𝝉\bm{B}_{m}\bm{\tau} in constraint space are set to zero vector, respectively, because we do not expect that the joints used for the force control contribute to the motion task, and vice versa. Thus, the optimization problem in motion space becomes:

QPI:𝝉I=argmin𝝉𝑩m𝝉𝝉d𝑷2,\mathrm{\textbf{QP}}_{\mathrm{\textbf{I}}}:\bm{\tau}_{\mathrm{I}}^{*}=\underset{\bm{\tau}}{\arg\min}\left\|\bm{B}_{m}\bm{\tau}-\bm{\tau}_{d}\right\|_{\bm{P}}^{2}, (17a)
s. t. 𝝉min𝑩T𝑷𝑩m𝝉𝝉max,\text{s. t. \,\,\,}\bm{\tau}_{\text{min}}\leq\bm{B}^{T}\bm{P}\bm{B}_{m}\bm{\tau}\leq\bm{\tau}_{\text{max}}, (17b)

where (17b) is the actuation torque limits of the robot. Here, the pre-multiplication of 𝑩T\bm{B}^{T} is to extract the actuated joints from the vertical concatenation vector of all the underactuated and actuated joints, because it is not a square matrix. Note the other physical constraints including unilateral contact and friction cones are considered within the optimization in the constraint space.

III-C Contact Force Control

Since the motion space error norm has been minimized, we need to optimize the constraint space error norm subject to the physical constraints.

III-C1 Modeling of Unilateral and Friction Cone Constraint

Assume 𝝀i3\bm{\lambda}_{i}\in\mathbb{R}^{3} is a contact force at the ii-th contact point, 𝒏x,i\bm{n}_{x,i}, 𝒏y,i\bm{n}_{y,i}, 𝒏z,i3\bm{n}_{z,i}\in\mathbb{R}^{3} are the heading, lateral, and normal vector of the contact surface, and μi\mu_{i} is the friction coefficient. The unilateral and friction cone constraint at this point is:

[000]𝒅¯[(𝒏x,iμi𝒏z,i)T(𝒏y,iμi𝒏z,i)T(𝒏x,i+μi𝒏z,i)T(𝒏y,i+μi𝒏z,i)T𝒏z,iT]𝑪i𝝀i[00+++]𝒅¯,\underbrace{\left[\begin{array}[]{c}-\infty\\ -\infty\\ 0\\ 0\\ 0\end{array}\right]}_{\underline{\bm{d}}}\leq\underbrace{\left[\begin{array}[]{c}(\bm{n}_{x,i}-\mu_{i}\bm{n}_{z,i})^{T}\\ (\bm{n}_{y,i}-\mu_{i}\bm{n}_{z,i})^{T}\\ (\bm{n}_{x,i}+\mu_{i}\bm{n}_{z,i})^{T}\\ (\bm{n}_{y,i}+\mu_{i}\bm{n}_{z,i})^{T}\\ \bm{n}_{z,i}^{T}\end{array}\right]}_{\bm{C}_{i}}\bm{\lambda}_{i}\leq\underbrace{\left[\begin{array}[]{c}0\\ 0\\ +\infty\\ +\infty\\ +\infty\end{array}\right]}_{\overline{\bm{d}}}, (18)

where 𝒅¯,𝒅¯5\underline{\bm{d}},\overline{\bm{d}}\in\mathbb{R}^{5} are the lower/upper bound vector, 𝑪i5×3\bm{C}_{i}\in\mathbb{R}^{5\times 3} is a constraint matrix at the ii-th contact point. The first four rows of (18) describe the approximated friction cone model (i.e., the friction pyramid [16]), whereas the last row encodes the unilateral constraint.

Consider making these constraints at all contact points in a compact form, it can be expressed as:

[𝒅¯𝒅¯]𝑫¯[𝑪1𝟎1×3𝟎1×3𝑪nc]𝑪[𝝀1𝝀nc]𝝀[𝒅¯𝒅¯]𝑫¯,\underbrace{\left[\begin{array}[]{c}\underline{\bm{d}}\\ \vdots\\ \underline{\bm{d}}\end{array}\right]}_{\underline{\bm{D}}}\leq\underbrace{\left[\begin{array}[]{ccc}\bm{C}_{1}&\cdots&\bm{0}_{1\times 3}\\ \vdots&\ddots&\vdots\\ \bm{0}_{1\times 3}&\cdots&\bm{C}_{n_{c}}\end{array}\right]}_{\bm{C}}\underbrace{\left[\begin{array}[]{c}\bm{\lambda}_{1}\\ \vdots\\ \bm{\lambda}_{n_{c}}\end{array}\right]}_{\bm{\lambda}}\leq\underbrace{\left[\begin{array}[]{c}\overline{\bm{d}}\\ \vdots\\ \overline{\bm{d}}\end{array}\right]}_{\overline{\bm{D}}}, (19)

with 𝑫¯,𝑫¯5nc\underline{\bm{D}},\overline{\bm{D}}\in\mathbb{R}^{5n_{c}} are the stacked lower/upper bound vector, and 𝑪5nc×3nc\bm{C}\in\mathbb{R}^{5n_{c}\times 3n_{c}} is a block diagonal matrix that includes all constraint matrices.

III-C2 Unilateral and Friction Cone Constraint at Contact Point(s) for Underlying Motion

Assume nmn_{m} is the number of contact points for the motion task, and nfn_{f} is the number for the force control task, such that nc=nm+nfn_{c}=n_{m}+n_{f}. As Section 2 mentioned, the physical constraints of the contact forces needed to implement the desired motion task for an underactuated system are considered as inequality constraints within the optimization of the constraint space error norm. According to (5), these constraint forces 𝝀m3nm\bm{\lambda}_{m}\in\mathbb{R}^{3n_{m}} can be computed as:

𝝀m=\displaystyle\bm{\lambda}_{m}= (𝑱c,mT)+[(𝑰𝑷)[𝑴¯(𝑷𝑩m𝝉I𝑷𝒉+𝑷˙𝒒˙)+𝒉]\displaystyle(\bm{J}_{c,m}^{T})^{+}\Big{[}(\bm{I}-\bm{P})[\bar{\bm{M}}(\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*}-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}})+\bm{h}] (20)
(𝑰𝑷)𝑩m𝝉+(𝑰𝑷)(𝑴¯𝑷𝑰)𝑱xT𝑭x],\displaystyle-(\bm{I}-\bm{P})\bm{B}_{m}\bm{\tau}+(\bm{I}-\bm{P})(\bar{\bm{M}}\bm{P}-\bm{I})\bm{J}_{x}^{T}\bm{F}_{x}\Big{]},

where𝑱c,m3nm×(6+nj)\bm{J}_{c,m}\in\mathbb{R}^{3n_{m}\times(6+n_{j})} represents the constraint Jacobian for the desired motion task, the motion torques 𝝉m\bm{\tau}_{m} of (5) is substituted with 𝑷𝑩m𝝉I\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*}, and the constraint torques 𝝉c\bm{\tau}_{c} is replaced by (𝑰𝑷)𝑩m𝝉(\bm{I}-\bm{P})\bm{B}_{m}\bm{\tau} that contains the decision variable 𝝉\bm{\tau}. Note that the 𝑩m\bm{B}_{m} before 𝝉\bm{\tau} distributes the torque commands only to the designated joints.

Similar to (19), the constraints of 𝝀m\bm{\lambda}_{m} would be:

[𝒅¯𝒅¯]𝑫¯m[𝑪m,1𝟎1×3𝟎1×3𝑪m,nm]𝑪m[𝝀m,1𝝀m,nm]𝝀m[𝒅¯𝒅¯]𝑫¯m,\underbrace{\left[\begin{array}[]{c}\underline{\bm{d}}\\ \vdots\\ \underline{\bm{d}}\end{array}\right]}_{\underline{\bm{D}}_{m}}\leq\underbrace{\left[\begin{array}[]{ccc}\bm{C}_{m,1}&\cdots&\bm{0}_{1\times 3}\\ \vdots&\ddots&\vdots\\ \bm{0}_{1\times 3}&\cdots&\bm{C}_{m,n_{m}}\end{array}\right]}_{\bm{C}_{m}}\underbrace{\left[\begin{array}[]{c}\bm{\lambda}_{m,1}\\ \vdots\\ \bm{\lambda}_{m,n_{m}}\end{array}\right]}_{\bm{\lambda}_{m}}\leq\underbrace{\left[\begin{array}[]{c}\overline{\bm{d}}\\ \vdots\\ \overline{\bm{d}}\end{array}\right]}_{\overline{\bm{D}}_{m}}, (21)

with 𝑫¯m,𝑫¯m5nm\underline{\bm{D}}_{m},\overline{\bm{D}}_{m}\in\mathbb{R}^{5n_{m}}, and 𝑪m5nm×3nm\bm{C}_{m}\in\mathbb{R}^{5n_{m}\times 3n_{m}} is a block diagonal matrix that includes the constraint matrices only for the motion task.

III-C3 Unilateral and Friction Cone Constraint at Contact Point(s) for Force Control

Akin to (20), the contact forces 𝝀f3nf\bm{\lambda}_{f}\in\mathbb{R}^{3n_{f}} for the force control is obtained based on (5)\eqref{constraint_force}:

𝝀f=\displaystyle\bm{\lambda}_{f}= (𝑱c,fT)+[(𝑰𝑷)[𝑴¯(𝑷𝒉+𝑷˙𝒒˙)+𝒉]\displaystyle(\bm{J}_{c,f}^{T})^{+}\Big{[}(\bm{I}-\bm{P})[\bar{\bm{M}}(-\bm{Ph}+\dot{\bm{P}}\dot{\bm{q}})+\bm{h}] (22)
(𝑰𝑷)𝑩f𝝉+(𝑰𝑷)(𝑴¯𝑷𝑰)𝑱xT𝑭x],\displaystyle-(\bm{I}-\bm{P})\bm{B}_{f}\bm{\tau}+(\bm{I}-\bm{P})(\bar{\bm{M}}\bm{P}-\bm{I})\bm{J}_{x}^{T}\bm{F}_{x}\Big{]},

with 𝑱c,f3nf×(6+nj)\bm{J}_{c,f}\in\mathbb{R}^{3n_{f}\times(6+n_{j})} denotes the constraint Jacobian for the force control. Note that the motion torques 𝝉m\bm{\tau}_{m} of (5) is set to zero vector here because the joints for the desired contact force control are not contributing to the motion control task. And constraint torques 𝝉c\bm{\tau}_{c} is substituted with (𝑰𝑷)𝑩f𝝉(\bm{I}-\bm{P})\bm{B}_{f}\bm{\tau} such that only the designated actuators can contribute to the force control task.

Similarly, the physical constraints of 𝝀f\bm{\lambda}_{f} would be:

[𝒅¯𝒅¯]𝑫¯f[𝑪f,1𝟎1×3𝟎1×3𝑪f,nf]𝑪f[𝝀f,1𝝀f,nf]𝝀f[𝒅¯𝒅¯]𝑫¯f,\underbrace{\left[\begin{array}[]{c}\underline{\bm{d}}\\ \vdots\\ \underline{\bm{d}}\end{array}\right]}_{\underline{\bm{D}}_{f}}\leq\underbrace{\left[\begin{array}[]{ccc}\bm{C}_{f,1}&\cdots&\bm{0}_{1\times 3}\\ \vdots&\ddots&\vdots\\ \bm{0}_{1\times 3}&\cdots&\bm{C}_{f,n_{f}}\end{array}\right]}_{\bm{C}_{f}}\underbrace{\left[\begin{array}[]{c}\bm{\lambda}_{f,1}\\ \vdots\\ \bm{\lambda}_{f,n_{f}}\end{array}\right]}_{\bm{\lambda}_{f}}\leq\underbrace{\left[\begin{array}[]{c}\overline{\bm{d}}\\ \vdots\\ \overline{\bm{d}}\end{array}\right]}_{\overline{\bm{D}}_{f}}, (23)

with 𝑫¯f,𝑫¯f5nf\underline{\bm{D}}_{f},\overline{\bm{D}}_{f}\in\mathbb{R}^{5n_{f}}, and 𝑪f5nf×3nf\bm{C}_{f}\in\mathbb{R}^{5n_{f}\times 3n_{f}} is a block diagonal matrix including the constraint matrices only for the force control task.

III-C4 Torque Limits

To make sure the sum of the optimal torques obtained from the optimization of the motion space and constraint space error norm satisfies the actuator saturation limits, the torque limit constraints can be calculated as:

𝝉min𝑩T𝑷𝑩m𝝉I𝑩T(𝑰𝑷)𝑩f𝝉𝝉max𝑩T𝑷𝑩m𝝉I.\bm{\tau}_{\text{min}}-\bm{B}^{T}\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*}\leq\bm{B}^{T}(\bm{I}-\bm{P})\bm{B}_{f}\bm{\tau}\leq\bm{\tau}_{\text{max}}-\bm{B}^{T}\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*}. (24)

III-C5 Cost Function

The optimization objective is to find the torques that can achieve the desired contact force control. Following the idea from [14], we design the cost function as:

min𝝉𝑩f𝝉(𝝉d𝑷𝑩m𝝉I)𝑰𝑷2.\underset{\bm{\tau}}{\min}\left\|\bm{B}_{f}\bm{\tau}-(\bm{\tau}_{d}-\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*})\right\|_{\bm{I}-\bm{P}}^{2}. (25)

Based on the detail of 1) - 5), the optimization in the constraint space is summarized as:

QPII:𝝉II=min𝝉𝑩f𝝉(𝝉d𝑷𝑩m𝝉I)𝑰𝑷2,\mathrm{\textbf{QP}}_{\mathrm{\textbf{II}}}:\bm{\tau}_{\mathrm{II}}^{*}=\underset{\bm{\tau}}{\min}\left\|\bm{B}_{f}\bm{\tau}-(\bm{\tau}_{d}-\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*})\right\|_{\bm{I}-\bm{P}}^{2}, (26a)
s. t.     (21), (23), (24).\text{s. t. \,\,\, \eqref{eqn::motion_task_contact_constraints}, \eqref{eqn::force_control_task_contact_constraints}, \eqref{eqn::torque_limit_in_constraint_space}}. (26b)

Eventually, the ultimate controller can be defined similar to (12):

𝑩𝝉=𝑷𝑩m𝝉I+(𝑰𝑷)𝑩f𝝉II,\bm{B}\bm{\tau}^{*}=\bm{P}\bm{B}_{m}\bm{\tau}_{\mathrm{I}}^{*}+(\bm{I}-\bm{P})\bm{B}_{f}\bm{\tau}_{\mathrm{II}}^{*}, (27)

where the first term on the right side implies the joint torques contributing to the desired motion control of the underactuated systems, while the second term only devotes to the desired contact force control.

IV Verification

To verify our proposed control scheme for the contact force control, we use the quadruped robot ANYmal C in the physics engine RaiSim [17] to conduct a task, that is, using its front left leg to exerting desired contact force to the ground while its other three legs support the free-floating torso to track a constant pose (i.e., x=y=0mx=y=0\,m and z=0.57mz=0.57\,m for position, and roll=pitch=yaw=0radroll=pitch=yaw=0\,rad for orientation). This task aims to imitate an underactuated quadrupedal robot pressing an object by applying a desired force at the contact point while keeping standing. Specifically, we design two reference force profiles: sinewave and step force, for performance verification. For the sinewave force, we set Fx=30sin(0.2t)NF_{x}=30\cdot\text{sin}(0.2t)\,N, Fy=20sin(t)NF_{y}=20\cdot\text{sin}(t)\,N and Fz=14050sin(2t)NF_{z}=140-50\cdot\text{sin}(2t)\,N with different frequency and magnitude. For the step force, we set FxF_{x} and FyF_{y} always to 0N0\,N, and FzF_{z} starts from 100N100\,N, jumps to 130N130\,N, then to 160N160\,N and back to 130N130\,N, and finalizes at 100N100\,N. These force reference profiles are assumed to be feasible and are also used to imitate the commands from a user.

We compare the force control performance of three controllers labeled as:

  • proposed: Our proposed control scheme (17a) - (26b).

  • HOWSM: Hierarchical optimization structure (17a) and (26a), but without using the selection matrices design to decouple the force and motion task (i.e., replacing 𝑩m\bm{B}_{m} in (17a) and 𝑩f\bm{B}_{f} in (26a) by 𝑩\bm{B}).

  • PIDCWCU: Projected inverse dynamics contact wrench control (14) for underactuated robots [7].

Refer to caption
Figure 3: Simulation results of sinewave force tracking. (a) Front left foot’s contact force tracking the performance of three controllers; (b) and (c): Base motion and optimized torque inputs when using our proposed controller.
Refer to caption
Figure 4: Simulation results of step force tracking. (a) Front left foot’s contact force tracking the performance of three controllers; (b) and (c): Base motion and optimized torque inputs when using our proposed controller.

To be fair, the same control gains 𝑲p=2000𝑰6\bm{K}_{p}=2000\cdot\bm{I}_{6}, 𝑲d=100𝑰6\bm{K}_{d}=100\cdot\bm{I}_{6} are used for all cases. Figs. 3 and 4 illustrate the simulation results of sinewave and step force tracking, respectively. We observe that our proposed controller demonstrated more accurate contact force control performance in any direction, although slight tracking errors exist. It reveals that our controller is a reactive controller that has a fast response to user-defined contact force without using any force planning. The force error in our method is mainly induced by two reasons: 1) we formulate the constraint force tracking as a cost function in the constraint space, and therefore the constraint force control could be traded-off when the inequality constraints must be enforced; 2) We do not use the Jacobians at the exact contact points to construct the constraint Jacobian 𝑱c\bm{J}_{c}, as it is unfeasible in hardware experiment. To simulate as much as possible the situation in hardware, we instead use the Jacobians in the centers of the contact feet for 𝑱c\bm{J}_{c}, and thus it causes the force error. Moreover, our controller induces minimal base motion, as shown in (b) of Fig. 3 and 4.

The purpose of comparing the force control performance with HOWSM is to emphasize that using two selection matrices in our controller is the key to decouple the force and motion task towards the exact contact force control. Without using them, the motion and force control task are still highly coupled because the contact foot used for the force control will also contribute to the motion task via the original selection matrix 𝑩\bm{B}. For PIDCWCU, the comparison results show that this controller cannot approach the exact contact force control, as the additional term (𝑰𝑷)𝝉u(\bm{I-P})\bm{\tau}_{u} that is designed for resolving underactuation would induce a disturbance to the contact force control and thus fail the force tracking task.

V Conclusion and Future Work

This paper presents a novel control scheme that aims to approach the exact interaction force control for underactuated quadrupedal systems. Based on PIDC, the constraint forces can be formulated in the function of actuation torques, allowing us to design the desired contact forces. To resolve underactuation, we follow the idea of constrained hierarchical optimization that solves two QP optimization problems in the motion and constraint space sequentially and satisfies the physical constraints at the same time. To decouple the motion and force control task and achieve the exact contact force control to the greatest extent, we propose a strategy of applying two selection matrices to the cost function of the QP design. Combining the hierarchical structure and the strategy, a novel control scheme is proposed. Compared to the constrained hierarchical optimization method without using two selection matrices and the PIDC method for contact force control, our controller performed more precise contact force control since the coupling effect between motion and force control was greatly mitigated, facilitating the exact interaction force control for underactuated quadrupedal systems. In the future, we will implement our algorithm on the hardware, and implement it to other underactuated quadruped systems like quadruped mobile manipulators. Moreover, we will further decouple the motion and contact force control task in an analytical way.

References

  • [1] G. Xin, J. Smith, D. Rytz, W. Wolfslag, H.-C. Lin, and M. Mistry, “Bounded haptic teleoperation of a quadruped robot’s foot posture for sensing and manipulation,” in 2020 IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 1431–1437.
  • [2] F. Aghili, “A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: applications to control and simulation,” IEEE Transactions on Robotics, vol. 21, no. 5, pp. 834–849, 2005.
  • [3] M. Mistry, J. Buchli, and S. Schaal, “Inverse dynamics control of floating base systems using orthogonal decomposition,” in 2010 IEEE International Conference on Robotics and Automation, 2010, pp. 3406–3412.
  • [4] M. Mistry and L. Righetti, “Operational space control of constrained and underactuated systems,” in Robotics: Science and systems, vol. 7, 2012, pp. 225–232.
  • [5] X. Chu, Y. Tang, A. M. Giordano, T. Chen, and K. S. Au, “Operational space control for planar pa n–1 underactuated manipulators using orthogonal projection and quadratic programming,” in 2021 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2021, pp. 12 853–12 859.
  • [6] G. Xin, W. Wolfslag, H.-C. Lin, C. Tiseo, and M. Mistry, “An optimization-based locomotion controller for quadruped robots leveraging cartesian impedance control,” Frontiers in Robotics and AI, vol. 7, p. 48, 2020.
  • [7] N. Dehio, J. Smith, D. L. Wigand, G. Xin, H.-C. Lin, J. J. Steil, and M. Mistry, “Modeling and control of multi-arm and multi-leg robots: Compensating for object dynamics during grasping,” in 2018 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2018, pp. 294–301.
  • [8] N. Dehio, J. Smith, D. L. Wigand, P. Mohammadi, M. Mistry, and J. J. Steil, “Enabling impedance-based physical human–multi–robot collaboration: Experiments with four torque-controlled manipulators,” The International Journal of Robotics Research, vol. 41, no. 1, pp. 68–84, 2022.
  • [9] L. Righetti, J. Buchli, M. Mistry, M. Kalakrishnan, and S. Schaal, “Optimal distribution of contact forces with inverse-dynamics control,” The International Journal of Robotics Research, vol. 32, no. 3, pp. 280–298, 2013.
  • [10] F. Aghili, “A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: applications to control and simulation,” IEEE Transactions on Robotics, vol. 21, no. 5, pp. 834–849, 2005.
  • [11] C. Ott, Cartesian impedance control of redundant and flexible-joint robots.   Springer, 2008.
  • [12] V. Ortenzi, M. Adjigble, J. A. Kuo, R. Stolkin, and M. Mistry, “An experimental study of robot control during environmental contacts based on projected operational space dynamics,” in 2014 IEEE-RAS International Conference on Humanoid Robots.   IEEE, 2014, pp. 407–412.
  • [13] V. Ortenzi, R. Stolkin, J. A. Kuo, and M. Mistry, “Projected inverse dynamics control and optimal control for robots in contact with the environment: A comparison,” in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2015, pp. 4009–4015.
  • [14] D. J. Braun, Y. Chen, and L. Li, “Operational space control under actuation constraints using strictly convex optimization,” IEEE Transactions on Robotics, vol. 36, no. 1, pp. 302–309, 2019.
  • [15] H.-C. Lin, J. Smith, K. K. Babarahmati, N. Dehio, and M. Mistry, “A projected inverse dynamics approach for multi-arm cartesian impedance control,” in 2018 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2018, pp. 5421–5428.
  • [16] J. C. Trinkle, J.-S. Pang, S. Sudarsky, and G. Lo, “On dynamic multi-rigid-body contact problems with coulomb friction,” ZAMM-Journal of Applied Mathematics and Mechanics/Zeitschrift für Angewandte Mathematik und Mechanik, vol. 77, no. 4, pp. 267–279, 1997.
  • [17] J. Hwangbo, J. Lee, and M. Hutter, “Per-contact iteration method for solving contact dynamics,” IEEE Robotics and Automation Letters, vol. 3, no. 2, pp. 895–902, 2018. [Online]. Available: www.raisim.com