Towards Exact Interaction Force Control for Underactuated Quadrupedal Systems with Orthogonal Projection and Quadratic Programming
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.

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:
(1) |
where is the generalized coordinate vector including unactuated floating base coordinates and actuated joint configuration , denotes the inertia matrix, is the non-linear effect consisting of Coriolis, centrifugal and gravitational forces, is the selection matrix111Unlike the selection matrix in previous papers, the selection matrix here is not square. of actuated joints, is the actuated joint torques, represents the constraint Jacobian with ( denotes the number of legs in contact with the environment and the contact is assumed as a point contact), denotes the generalized constraint force vector used to control unactuated , is the Jacobian at , and is the external disturbances due to the interaction from human or environments.
During locomotion, the support feet should not slip, i.e., the constraint must be satisfied. This constraint indicates that any admissible lies in the constraint null space . According to [10], the dynamics equation can be projected into two subspaces by using the orthogonal projection matrix and respectively as:
(2) |
(3) |
where implies that the orthogonal null space projection matrix is computed from the Moore-Penrose pseudoinverse of and projects vectors into the null space of the constraint, such that , , and for all . Then represents the complementary projection into .
To solve the equation of , must be computed first. However, cannot be obtained directly through pre-multiplying the inverse of in , as cannot be inverted attributed to the rank deficiency of . With the help of additional equations and its derivative that are derived from , can be solved by substituting the latter equation into as:
(4) |
where . Equations (4) shows that only the motion torques contributes to the motion of the system, therefore is called the motion space as described in [6]. Similarly, because in the is fixed and constraint forces are free to choose depending on the constraint torques , is named the constraint space. Eventually, the constraint forces are obtained by inserting into and yields:
(5) | ||||
with , 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 , as:
(6) |
where denotes the pose error of the end-effector between the current and desired one, , , and 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 , as we compute the expression of in Section II-A, to equation (2), then pre-multiply the resultant equation by , replace with , and pre-multiply it by the operational space inertia matrix , the equation becomes:
(7) |
where is the task Jacobian defined by , and is the operational space non-linear effect. At this moment, we consider the robot is fully actuated, such that:
(8) |
with is the designed control law, and is the desired motion torques. Then, equation will be simplified as:
(9) |
The control law can be defined to achieve the impedance response of equation as:
(10) |
where is assigned [11].
Remark 1.
Note that is not always determinable, since is not invertible when has rank deficiency. We use Singular Value Decomposition (SVD) to remove the eigenvalues equal or close to zero for the approximation of .
Remark 2.
Consider the torso and swing feet as end-effectors, all above can be replaced by the Jacobian matrix of the torso and of the -th foot , and the control law can be represented by for the torso and for the foot.
II-C Contact Force Control in Constraint Space
Assumption 1.
The desired force 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 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 with the external disturbance by:
(11) | ||||
Remark 3.
The external force 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 and , i.e.:
(12) |
Remark 4.
If the contact force control is not concerned, 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) implies:
(13) | ||||
which are the contact forces (or in general, the constraint forces) needed to remain the constraint . 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, in general for underactuated robots. To satisfy the underactuation constraint , [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 to equation (12) as:
(14) | ||||
Indeed, the additional constraint torques does not generate any motion to violate the underlying task, but it derails the force control from its desired value, as and 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 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,
(15) |
where and 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

As stated in [10], the constraint forces are affected by the constraint torques directly and motion torques indirectly via a cross-coupling factor . It is apparent that must be determined first, otherwise determining 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 can be decomposed into two selection matrices , where selects the actuators to perform the desired underlying motion, and 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, activates the front right leg to exert the desired interaction force, whereas 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:
(16) | ||||
where in motion space and 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:
(17a) | |||
(17b) |
where (17b) is the actuation torque limits of the robot. Here, the pre-multiplication of 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 is a contact force at the -th contact point, , , are the heading, lateral, and normal vector of the contact surface, and is the friction coefficient. The unilateral and friction cone constraint at this point is:
(18) |
where are the lower/upper bound vector, is a constraint matrix at the -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:
(19) |
with are the stacked lower/upper bound vector, and 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 is the number of contact points for the motion task, and is the number for the force control task, such that . 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 can be computed as:
(20) | ||||
where represents the constraint Jacobian for the desired motion task, the motion torques of (5) is substituted with , and the constraint torques is replaced by that contains the decision variable . Note that the before distributes the torque commands only to the designated joints.
Similar to (19), the constraints of would be:
(21) |
with , and 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 for the force control is obtained based on :
(22) | ||||
with denotes the constraint Jacobian for the force control. Note that the motion torques 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 is substituted with such that only the designated actuators can contribute to the force control task.
Similarly, the physical constraints of would be:
(23) |
with , and 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:
(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:
(25) |
Based on the detail of 1) - 5), the optimization in the constraint space is summarized as:
(26a) | |||
(26b) |
Eventually, the ultimate controller can be defined similar to (12):
(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., and for position, and 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 , and with different frequency and magnitude. For the step force, we set and always to , and starts from , jumps to , then to and back to , and finalizes at . 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:
- •
- •
- •


To be fair, the same control gains , 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 , 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 , 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 . For PIDCWCU, the comparison results show that this controller cannot approach the exact contact force control, as the additional term 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