Large-Dimensional Multibody Dynamics Simulation Using Contact Nodalization and Diagonalization
Abstract
We propose a novel multibody dynamics simulation framework that can efficiently deal with large-dimensionality and complementarity multi-contact conditions. Typical contact simulation approaches require performing contact impulse fixed-point iteration (I-FPI), which has high time-complexity from large-size matrix factorization and multiplication, as well as susceptibility to ill-conditioned contact situations. To circumvent this, we propose a novel framework based on velocity fixed-point iteration (V-FPI), which, by utilizing a certain surrogate dynamics and contact nodalization (with virtual nodes), we achieve not only inter-contact decoupling but also their inter-axes decoupling (i.e., contact diagonalization) at each iteration step. This then enables us to one-shot/parallel-solve the contact problem during each V-FPI iteration-loop, while avoiding large-size/dense matrix inversion/multiplication, thereby, significantly speeding up the simulation time with improved convergence property. We theoretically show that the solution of our framework is consistent with that of the original problem and, further, elucidate mathematical conditions for the convergence of our proposed solver. Performance and properties of our proposed simulation framework are also demonstrated and experimentally-validated for various large-dimensional/multi-contact scenarios including deformable objects.
I Introduction
As technology and automation advance, robots performing diverse tasks in various environments on behalf of humans are becoming an increasingly essential topic [1]. Robots no longer do specific tasks in a stationary and well-known environment, necessitating the ability to notice changes in their surroundings and react immediately through interaction. In this regard, enhancing online performance and flexibility through offline pre-training has recently emerged as a very promising solution. These concepts have been implemented in a variety of ways (e.g, self-supervised learning [2, 3], reinforcement learning [4, 5]) and have been used to succeed in tasks in a variety of challenging situations (e.g., climbing in complex terrain [6], tight tolerance assembly [7]).
Since the approaches described above can be broadly understood in terms of optimization, they commonly require large amounts of high-quality data to achieve adequate performance and robustness. These data can also be gathered in real-world contexts, but by using virtual environments (i.e., simulation), the data collecting process becomes considerably safer and faster, and the environment can be adjusted without the need for human intervention. Furthermore, perfect knowledge of the system can be used for more efficient learning [8, 9] and does not necessitate a separate estimating approach to collect data. As a result, simulation is frequently utilized as a backbone to train robots to do challenging tasks (i.e., sim-to-real transfer [10, 11, 12]).
However, for practically useful data collection, simulation must be both fast and accurate. One of the most challenging issues in dynamic simulation of robot applications is contact [13], while it inevitably occurs in situations where the robot interacts with the environment and other objects. In this paper, we mainly focus on following common form of discrete-time dynamics equations with contact, as in [14, 15, 16]:
(1) |
where are constructed from the system state at the -th time step, is the representative velocity between the time intervals of -th to -th steps, is the contact Jacobian, is the contact impulse, is the system dimension, and is the contact number at the time step.
In general, the contact constraints can be expressed as the complementarity-based relation between and . Therefore, in many cases, the solution process of (1) requires the following contact impulse space transform:
(2) |
where is called Delassus operator [17]. This impulse-based formulation (2) implies the linear relation between contact impulse and the velocity relative to the contact frame. Based on this formulation, various algorithms [18, 19, 20, 21] perform impulse fixed-point iteration (I-FPI) to find a proper collision response that satisfies the contact conditions. Despite their popularity in rigid body simulation, I-FPI suffers from the following challenges in general multibody simulation:
- •
-
•
In the case of ill-conditioned contact situations (i.e., the condition number of the Delassus operator is poor), the I-FPI adopted to (2) converges slowly and often fails, resulting in implausible contact behavior of the simulation.
Accordingly, it is difficult to efficiently simulate a high degree of freedom (DOF) systems with multiple contacts, particularly in scenarios involving deformable objects.
I-FPI based approaches [18, 19, 20, 21] may be characterized as executing fixed-point iteration to meet contact complementarity condition while intrinsically reflecting (1). In contrast, in this paper, we present a new method that uses fixed-point iteration to satisfy (1) while keeping the contact condition based on velocity fixed-point iteration (V-FPI). We first propose contact nodalization, which turns all contacts into nodal situations (i.e., contact with Cartesian nodal points) while precisely preserving the contact condition. We then proceed to develop a novel numerical solver based on contact diagonalization, which is achieved through multiple contact generation and solution with respect to certain surrogate dynamics. Each surrogate dynamics problem can be solved in a one-shot/parallelized manner due to the diagonal properties and converges to the original dynamics equation (1) as iteration progresses. The main features of our framework can be summarized as follow:
-
•
Scalable: The entire procedure of the solver consists solely of matrix-vector multiplication and simple algebraic operations, resulting in low time and memory complexity.
-
•
Accurate: Dynamics and contact conditions are precisely enforced, resulting in accurate contact simulation as demonstrated by experimental validations.
-
•
Convergent: Convergence is theoretically investigated and practically proved to have fast and robust convergence even for ill-conditioned problems.
-
•
Versatile: Diverse formulations including a combination of rigid-deformable body and maximal-generalized coordinate can be dealt with. Furthermore, it is compatible with various integrator types and friction models as well.
From now on, we refer to the framework as simulation using contact nodalization and diagonalization (COND). We also release an implementation of COND for a specific scenario (cable winding manipulation, see Sec. V for detail) so that it can be utilized for simulation and learning benchmarks: https://github.com/INRoL/inrol_sim_cablewinding.
The problem of solving dynamics with contact has been studied for a long time. One of the well-known directions is to use the spring-damper-based penalty contact force formulation [22, 23], which calculates and applies a force proportional to the penetration or sliding velocity. By explicitly formulating the contact force, it is advantageous in terms of scalability. However it often demands a very small time step to prevent penetration or physically odd behavior, and the result tends to vary depending on the gain value [24, 25, 23].
Another very traditional method is to use a direct solution of the linear complementarity problem (LCP) [26], which is based on a polyhedral shape approximation of the friction cone. In contrast to the non-linear complementarity problem (NCP), LCP can be solved exactly using various algorithms such as [27], but they require impulse space conversion and have a high computational load during the solution process. In addition, because of the linearized friction cone, unplausible frictional behavior can be generated [17].
In modern simulation research, numerical methods are mainly used. One of the most prevalent methods is the projected Gauss-Seidel (PGS) algorithm [17], which solves (2) using Gauss-Seidel type I-FPI while projecting the solution to the friction cone. Similarly, gradient-based methods such as [28] can be used, with numerical acceleration schemes. The methods are faster than direct methods in many cases and able to handle more preferable contact formulation (than LCP) including NCP and its convex relaxation [29, 30]. Therefore, they have been widely adopted in open-source simulation software (e.g., Bullet [31], MuJoCo [14], Chrono [32], RaiSim [33]). The projection step can sometimes be replaced with a slight modification using the bisection [18] and Newton [19] algorithms. However, under a complex structure of , there is still a scalability issue in multibody systems due to their reliance on impulse space conversion and their ability to converge slowly in ill-conditioned contact situations.
Various techniques have been proposed to improve computational efficiency for large-scale problems. For soft objects, model order reduction is utilized to reduce the system dimension in [34, 15] with the open-source framework SOFA [35]. The methods are promising, yet the applicable scenarios are restricted since they assume small deformation or limited modes of system behavior. Position-based dynamics (PBD) idea [36, 37] is prevalent in graphics area, and also utilized in open-source software FleX [38] and Brax [39] with various robotic researches [40, 41]. The main limitation of PBD for robotic simulation is their slow convergence to adequate accuracy in engineering, and possible occurrence of implausible contact behavior which is also described in [16]. Also, its non-linear Gauss-Seidel fashion constraint resolution is incompatible with generalized coordinates representation which is widely used in the robotic simulation. Subsystem-based architectures are presented in [42, 43] which split the original problem into smaller size problems with parallelization, but the methods are yet limited to systems with few interconnections between subsystems. In [16] and [44], efficient solvers that can simulate objects such as cloth and hair are proposed while avoiding impulse space conversion. In contrast to our framework, they rely on the global relaxation and linear solving process and cannot deal with general rigid body representation. Another notable work is [37] that develops a non-smooth Newton method to solve contact conditions using Schur-complement and complementarity preconditioner. It has the advantage of fast convergence due to the nature of the second-order but requires multiple large-size linear solving processes for a single time step.
The rest of the paper is organized as follows. Sec. II will explain how we create the constrained dynamics with contact in a discrete-time domain (i.e., (1)). Then in Sec. III, our main algorithm COND for multibody dynamics solver will be described in detail. Sec. IV will investigate the convergence of the solver. The simulation and experimental analysis to evaluate the performance of COND will be presented in Sec. V. Sec. VI provides some discussions on the framework and future work. Finally, the concluding remark will be presented in Sec. VII.
II Constrained Dynamics with Contact
In this section, we will describe how we construct the dynamic equation with multiple constraints and contact.
II-A Dynamics Integration
We formulate discrete-time domain dynamics at the velocity and impulse level, as is generally the case to avoid inconsistency [45]. Dynamics integration methods can be broadly classified according to explicit/implicit type and linear/non-linear type. In this work, we construct the dynamic equation in linearized form, considering the constraints in an implicit manner. This is because: 1) while targeting complex systems including flexible bodies, the explicit method has clear limitations in its stability, and 2) non-linear integration can actually be expressed as an iteration of a linear integration. The equation of motion of mechanical system under contacts in the continuous-time domain can be written as follow [14]:
(3) | ||||
where is the generalized coordinate variable111can involve representation in Euclidean space as well as orientation representation such as SO(3). Note that generalized velocity and acceleration can still be expressed as . of system, are the mass, Coriolis matrix, is the potential action, is the external force, is the contact impulse with , is the contact Jacobian, and subscripts denote the normal and tangential directions. Then we perform the discretization of the dynamics as
(4) | ||||
where denotes the time step index, , , is the step size, is the velocity, and is the representative velocity of each time step. We derive potential action from the passivity relation presented in [46] i.e.,
(5) | ||||
(6) |
with the second-order approximation of exact potential energy deviation. Here, potential function may be non-convex therefore the Hessian term may not be symmetric positive definite. Yet, some common approximations can be adopted to solve the issue in a compact way. Consider the following constraint potential form:
(7) |
where is the constraint error and is the symmetric positive definite gain matrix, and is the constraint dimension. This form (7) is very versatile, as it can represent almost all types of constraint including simple spring, co-rotational finite element model [47] and even hyper-elastic material with generalized compliance model [37]. Then we can write as follow using outer product approximation similar to [48, 37, 43]:
(8) |
where is the constraint Jacobian (i.e., ) and is the symmetric positive definite damping matrix. o maintain the exact energy relation along these approximations (or at least, stability preserved), determining is another meaningful subject, as it is necessary to find an appropriate energy dissipation to preserve the passivity of the system. Yet in this paper, we do not delve deep into this issue and apply the following two simple policies: 1) user-defined constant damping matrix or 2) symmetric positive definite projection of geometric stiffness matrix [48] i.e.,
where is the projection to symmetric positive definite matrix manifold [49]. One of classical ways to compute uses singular value decomposition [50], however, to reduce the computation time for this, we construct a diagonal matrix where each element is the sum of the absolute values of the elements in each column of the original matrix.
One of the widely used potentials that cannot be represented by (7) is gravity potential, however, its Hessian can be ignored by dropping out the derivative of the as above. Finally, substituting (8) to (4), dynamics can be represented as in form of (1) with
(9) | ||||
where . The structure of (9) is very similar to the one used in [48, 46]. Although it is based on the linearization of non-linear potential action, constraints are considered in implicit manner, therefore applicable to complex multibody systems including rigid and deformable bodies. Also here, note that is always a symmetric positive definite matrix.
The form of (1) is also applicable to the general integration method. For example, coordinate transform using introduced in [46] can be utilized to improve the passivity property of the dynamics, as it maintains the linearized form with a symmetric positive definite property of . For the cases of non-linear integration, that takes constraints into account in a completely implicit manner without linearization, we can write the equation in the form of
where is the non-linear function. For instance, for fully-implicit Euler integration [51], is
with . Similarly, implicit midpoint integration [52], variational integration [53] can be represented. Then solving this equation using the Newton method is equivalent to
(10) |
and (10) can be simplified as
which is same as (1). Here, is a symmetric positive definite matrix, with some quasi-Newton style approximation. Meanwhile, still there remains room for expansion to be directly applicable to the non-linear integration methods, especially those that can be expressed in an optimization form [51]. However, we will remain the part as future work.
II-B Signorini-Coulomb Condition



To reflect the physical properties of the contact robustly and precisely, we consider solving the constructed dynamics (1) under the following complementarity-based Signorini-Coulomb condition (SCC):
(11) | ||||
for all contact indices where is the friction coefficient, is the additional term for penetration compensation and restitution coefficient, and is the auxiliary variable. The first line of (11) is known as the Signorini condition which prevents penetration in a collision. The rest parts correspond to the Coulomb friction condition that ensures the contact impulse contained within the friction cone set is defined as
(12) |
and tangential impulse operates in the opposite direction of motion if sliding occurs. There are three possible behavior outcomes as the result of this condition, which are illustrated in Fig. 1 - open (), stick (), and slip ().
III Contact Nodalization and Diagonalization
The main idea of COND is to solve the original contact problem (i.e., solve (1) with (11)) using the repetitions of surrogate contact problem (i.e., solve surrogate dynamics with (11)). In this section, we will describe how the surrogate dynamics contact problems are constructed and solved, with the concept of contact nodalization and diagonalization.
III-A Contact Nodalization
We start with the following definition that categorizes contacts into two types:
Definition 1
For any point of contact, it is an S-contact, if it is a part of a collision between a dynamic object and a static environment. Otherwise, it is a D-contact, which is a part of a collision between two dynamic objects.
III-A1 Nodal contact assumption


As illustrated in Fig. 2(a), nodal contact assumes that the points at which the contact acts are only on the nodes that comprise the part of the system coordinates. That is, under the nodal contact assumption, S-contact is a static environment-node contact, while D-contact is a node-node contact. Based on this, we can take the important observation that the contact Jacobian in the nodal situation can be represented by the stack of SO(3):
(13) |
where is the SO(3) matrix for -th contact that converts global frame to nodal contact frame. Although this concept is reasonable for fine mesh-based systems in practice and successively applied to thin nodal objects such as cloth and hair [44, 16], it has not been applied to general multibody systems. This is mainly because contact points cannot be regarded as a system node, in a coordinate representation such as rigid bodies or joint angles. However since we are aiming for robotic applications, this extension is essential, and thus we propose the following new technique.
III-A2 Virtual node
To embrace the broader contact situation under the nodal assumption, we make the concept of the virtual node as shown in Fig. 2(b). The mass-less virtual node is temporarily formed when contact occurs if the point is not a predefined node and the contact is treated as occurring on the virtual node. By this, all the contacts that exist in the system can be fairly considered nodal contacts. However, for the virtual node concept to be valid, the motion of the virtual node and the point where the contact originally occurred must match. To implement this, we utilize viscous damping force between the virtual nodes and collision points:
(14) |
where can be interpreted as a gain, is the Jacobian matrix that maps the velocity of the original coordinate to collision point velocity, and is the representative velocity of virtual nodes while is the number of virtual nodes. Note that damping force is sufficient to match the motion since the virtual nodes are created at the exact locations (i.e., no constraint error) at every time step and disappear at the next time step. Virtual nodes can be generated on any part of the system (e.g., surface on rigid body, interior points between mesh nodes) by simply creating a mapping from the original coordinate to the location of the node.
Based on (14), we can reformulate the original dynamics as
(15) |
where , are from original dynamics, , , , and are respectively the contact impulse on original/virtual nodes and contact Jacobian on original/virtual nodes.
III-A3 Analysis on virtual node
It is easy to see that (15) is structurally identical to (1). We also demonstrated in Prop. 1 that the symmetric positive definite property of dynamic matrix is preserved even after nodalization.
Proposition 1
in (15) is a symmetric positive definite matrix.
Proof:
Since is a symmetric positive definite matrix, is at least symmetric and positive semi-definite. Now suppose that exists that satisfies . Then must be zero vector to make . Then holds, which show is also a zero vector and it denotes is positive definite. ∎
Now let us identify how the viscous damping force (14) affects the system dynamics. Dynamic equation (15) can be rewritten as
(16) | |||
(17) |
Substituting (17) to (16), we can obtain
(18) |
which implies that the formulation is consistent with the original dynamics structure, without any additional force. However, the contact solution from (15) satisfies the SCC with respect to virtual node velocity rather than the original contact point velocity i.e.,
instead of . This means the term induces the “perturbation” on the contact constraint. However, we theoretically show that as increases, this perturbation term vanishes in Prop. 2, and thus constraint drift (e.g., penetration) can be certifiably avoided if is large enough. Note that, this is clearly different from spring-damper based force injection, as they creates additional force in the system and does not guarantee the satisfaction of the constraint. For empirical evaluation, see Sec. V.
Proposition 2
The contact formulation using virtual nodes converges to the original contact formulation as .
Proof:
From the dissipative property of SCC (normal complementarity, opposite friction direction),
holds where . Suppose that if does not converges to as , which means goes to . Now notice that the left-hand side of the inequality is a summation of and the quadratic term with respect to . Then it is clear to see that the former goes to , and the latter also has a lower bound as is a symmetric positive definite matrix. This means that must converge to to satisfy the inequality. Therefore as , virtual node-based contact formulation converges to original contact formulation as the perturbation becomes zero and the relation between and is exactly leveraged. ∎
It is also important to note that in (14), utilizing implicit representation rather than is critical, as it leads (18) does not introduce any additional force. As a result, even with sporadic generations of multiple virtual nodes and high , the formulation can maintain stability.
Our virtual node-based formulation is similar to a concept of slack variable, so may have a disadvantage that the dimension of the system increases as the number of virtual nodes increases. Nonetheless, the nodal transformation significantly contributes to ability of our algorithm to reduce the burden of the complexity in matrix operations[14], as will be discussed further below.
III-B Derivation of Surrogate Dynamics
Let us first consider solving (15) with only Signorini condition in (11). Then we can find that it is equivalent to Karush–Kuhn–Tucker (KKT) conditions of the following velocity-level optimization problem:
(19) | ||||
s.t. |
where is the feasible set of velocity with . Here and hereafter, notations for -th time step are omitted for simplification, however all the components are still time-varying. This means that contact problems without friction can be replaced with solving (19). One way to solve (19) is the projected gradient descent method [56] which takes the following steps:
(20) | |||
(21) |
where is the iteration loop index, is the symmetric positive definite step size matrix for gradient descent. Here, can alternatively interpreted as an inverse of surrogate dynamics matrix, which will be a key component of our derivation. Also, is defined as
which is the projection from on the convex set , with respect to weighted Euclidean distance. Since is positive definite and is convex, the projected gradient descent method will well converge to the solution of (19) if the problem is feasible. However, since (11) also include the impulse constraint like friction direction constraint, it is not enough to deal with the generic contact problem. Instead, we modify the projection step (21) as follow:
(22) |
Noticing the similarity between (22) and (1), (22) can be considered as a surrogate dynamics, which is constructed from and . Then the update step can be interpreted as solving the contact problem with respect to this surrogate dynamics. Now recalling the form of (2), is equivalent to
(23) |
where can be interpreted as a surrogate Delassus operator, , and SOL denotes the solution that and satisfies SCC. After solving this contact problem (23), update step is performed as
(24) |
Unlike the projection step in projected gradient descent that only enforces velocity-level constraint, this new velocity fixed point iteration (V-FPI, i.e., iteration of (20), (23) and (24)) directly achieves the contact condition (11).
Remark 1 (Consistency)
If the fixed-point iteration converges i.e.,
then the solution exactly consistent with the original dynamics
as is supposed to be a non-singular matrix. Therefore, we can find that surrogate dynamics (22) eventually accurately reflects the dynamics condition if the iteration converges, see also Sec. V. For the analysis of the convergence, see Sec. IV.
III-C Contact Diagonalization
In our V-FPI process above, computing step (20) and updating step (24) are simple processes, yet the part that solves surrogate contact problem (23) may be complicated. However, we find that selecting an appropriate surrogate dynamics matrix (i.e., ) under contact nodalization can make our surrogate Delassus operator to be a diagonal matrix for all situations and the process can be drastically simplified. The proposition below demonstrates how it works.
Proposition 3
Under contact nodalization, suppose
with for all -th node that is in contact, where are indices corresponding to the node. Then the surrogate Delassus operator can be written as follow:
(25) |
where denotes the identity matrix.
Proof:
Recalling the structure of (13), for S-contact,
and for D-contact,
holds from the definition of SO(3). ∎
Prop. 3 demonstrates that under a certain structure of , extracting the components of is sufficient to construct the surrogate Delassus operator, without any matrix-matrix multiplication or factorization. Therefore, we can obtain significant advantages in time and memory compared to the original Delassus operator (i.e. ) assembly. Also, the simple structure of the Delassus operator is significantly advantageous for the contact solving process (see Sec. III-D).
With this contact “diagonalization” method, we have built the basic structure of our simulation algorithm - COND, which is summarized in Alg. 1.
III-D Solving Surrogate Dynamics Problem
Now the remaining part is how to solve (23). In typical solvers, although the contact conditions (11) are constraints that are independent with each contact, coupling between each contact still exists since the Delassus operator is dense. These coupling terms make the global iteration and relaxation process essential for contact solvers when dealing with multi-contact situations [18, 17]. However, in COND, the diagonalized property of established in Sec. III-C resolves this problem. Convenience induced from the property of in the contact solving process can be summarized as follows:
-
•
Coupling relaxation through global iteration (e.g., Gauss-Seidel) is unnecessary since each contact situation is completely decoupled. Furthermore, completely parallel computation is possible for each contact.
- •
Overall, our contact solver consists only of a single linear solving of (which is very simple since is a diagonal matrix) with parallelized local projection step on . We summarize this contact solver in Alg. 2.


The friction cone projection step (denoted as ProjectFC in Alg. 2) is necessary to enforce the output of the contact solver to satisfy the SCC. If temporary value (i.e., in Alg. 2) is inside , ProjectFC simply yields the same value as input. Otherwise, is projected on the surface of . In this paper, we use two projection schemes - “strict” and “proximal” operator as illustrated in Fig 3. Each can be written as
Strict: | (26) | |||
Proximal: |
where is the cross-section of cut vertically from . It can be easily verified that for both strict operator and proximal operator, we can obtain the solution in a very simple analytic form. Also note that is only related to normal component, therefore .
We figure out that the two projection schemes have the following trade-offs in our solver: 1) the result of the strict operator exactly satisfies the SCC condition (11), yet sufficient condition for convergence is not always feasible222From the fundamental limitation of SCC. In practice, we do not experience the convergence problem. For detailed discussions and results, see Sec. IV,V. and 2) proximal operator can always guarantee the convergence of the solver, yet the solution does not exactly satisfy (11). Also, the result from the proximal operator is equivalent to the convex contact model proposed in [29, 30], therefore having a unique solution under strong convexity.
III-D1 Strict operator
The strict operator can exactly achieve SCC in one-shot which is shown in Prop. 4.
Proof:
From , normal component is completely decoupled from tangential component as
where . If , is the only solution that is satisfied. Else, is the only solution as since . Therefore, normal components are uniquely determined, and satisfy the complementarity condition is satisfied. For tangential components, stick case is trivial. For slip case,
(27) | ||||
must be satisfied for . Substituting (27) to boundary of , is uniquely determined as
and therefore is uniquely determined and equivalent to the result of the strict operator. ∎
III-D2 Proximal operator
As depicted in Fig. 3, a result of the proximal operator is different from the strict operator, which implies that the proximal operator-based formulation contains some approximation in SCC, as shown in Prop. 5.
Proposition 5
Proof:
Proximal operator solves following optimization problem:
(29) |
for all contact index . Then KKT conditions of the problem can be written as
(30) | |||
(31) | |||
(32) | |||
(33) | |||
(34) | |||
(35) |
for where is the Lagrange multipliers. From (30), (32), and (34), we can find that
holds and it is equivalent to relaxed normal complementarity condition in the statement. For tangential component condition, open case is trivial from (35). Also from (33), holds for stick case and is satisfied. Finally, (31) is equivalent to the condition for slip case. Also, since (29) is the strictly convex optimization problem, the solution is unique. ∎
If V-FPI iteration with proximal operator converges, original dynamics (1) is satisfied and
holds where and . Thus, and we can find that converged solution of COND using proximal operator is equivalent to the solution of CCP [29] which can be written as
(36) | ||||
Compare the conditions in Prop. 5 with (11), we can find that Signorini condition is relaxed. Consequently, as also shown in [17], the solution of CCP may generate unplausible dynamic behavior (e.g., gliding effect during sliding). However, as mentioned in [29], the moderate use of can reduce the effect of the approximation of normal conditions, and in practice it is employed in well-known simulators such as MuJoCo and Chrono as it works quite robustly.
Remark 2 (Uniqueness)
Although Prop. 4 and 5 conclude the uniqueness of the solution to the surrogate problem, they do not directly represent the uniqueness of the solution to the original problem. The uniqueness of the solution is related to the number of fixed-points in the V-FPI.
III-E Extensions
Contact diagonalization allows COND to easily extend with various contact models. Here we present some examples.
III-E1 Invertible contact
In [30], an invertible contact model based on the regularization term is proposed as follows:
(37) |
where is the symmetric positive definite regularization term. Under the model, is uniquely determined by solving the following problem:
Invertible contact model allows for reversely calculating contact impulse (i.e., ) from the velocity result (i.e., )), which can be useful in fields such as contact-implicit trajectory optimization. Such a scheme can straightforwardly be included in COND, as it can be easily verified that (37) is also solvable using our framework by simply using instead of in (23).
III-E2 Anisotropic Friction

So far, we focus on isotropic friction model, which use the same friction coefficient for all tangential directions. However in some cases, anisotropic friction modeling is necessary [57] for accurate surface modeling. For example, ellipsoidal cone as
can be utilized instead of isotropic cone. In this paper, we use the maximal dissipation principle (MDP [58]) to model the behavior under anisotropic friction. The validity of the MDP formulation has been shown in [59, 60]. Here, due to our diagonalization process, MDP can be conveniently accommodated, using the strict operator. Details are shown in Prop. 6.
Proposition 6
Output of Alg. 2 with the strict operator is the maximal dissipation solution.
Proof:
Maximal dissipation principle can be written as
s.t. | |||
We can easily find that the cost function in MDP is proportional to the square of the distance from as in Fig. 4 while the normal component is already determined to satisfy the Signorini condition. Therefore, the optimal solution is equivalent to the minimum distance projection result. ∎
Note that, in the case of anisotropic friction, the MDP is not equivalent to that the friction is in the opposite direction which is also depicted in Fig. 4. Also, the projection result of the strict operator may not be represented analytically, thus numerical methods (e.g., bisection) may be required. However, as Alg. 2 supports parallelization for all contacts, the problem can be handled without bottlenecks.
III-F Complexity
Summarizing the preceding contents, it is established that all components of V-FPI in COND (Alg. 1) are made up of simple scalar algebraic operations and matrix-vector multiplication. More precisely, the first multiplication of in (22) and (24) has complexity for both time and space since is a diagonal matrix. One-shot contact solving process (Alg. 2) also possesses complexity since the construction of does not involve any multiplication, but only element extraction from , while contact solving is interpreted as (usually proportional to ) number of simple parallelizable operations. Also, since can be treated as just a stack of SO(3) matrices, matrix-vector multiplication on has also complexity. Therefore, the only part that has over linear complexity is a computation of . Matrix-vector multiplication requires complexity if is dense, but in many cases, especially for deformable body parts, contains many components. As a result, COND shows the complexity near - see Sec. V. Note that despite is sparse, is generally fully dense, therefore computation of Delassus operator is still has a complexity near .
III-G Chebyshev Acceleration
We find that Chebyshev acceleration [61] can be utilized as an efficient plug-in to accelerate the V-FPI in COND. For iterative linear solver to solve defined as
where , Chebyshev acceleration method proposes iteration scheme as
(38) |
with
where denotes the Chebyshev polynomial and is the spectral radius of . Looking closely at Alg. 1, we can find that our solver is quite similar to the linear solving scheme with . Therefore, it can be expected that applying Chebyshev acceleration to COND will be effective. The algorithm is clarified in Alg. 3.
Here, is the index for slowly starting acceleration as in [61] which is helpful to avoid oscillation at the beginning of the iteration. Also, since spectral radius is equivalent to the largest of the absolute values of the eigenvalues, its time complexity becomes an issue for a large size matrix. For this reason, we use a simple approximation of it instead as
(39) |
Intuitively, this formulation reflects the degree of a contraction property, which is directly related to the spectral radius. The min operator is necessary because monotonic decreasing of residual is not always guaranteed with the acceleration schemes. In practice, when Chebyshev acceleration is applied, the residual of V-FPI reduces much faster, yet with some chattering. To reduce the resulting instability, we utilize the under-relaxation strategy (i.e., in Alg. 3) which is proposed in [61].
IV Convergence Analysis
In this section, sufficient conditions for convergence of V-FPI in COND will be discussed concretely. We first utilize the Banach Fixed-Point Theorem [62] as a basis to discuss convergence i.e.,
Lemma 1 (Banach Fixed-Point Theorem [62])
If is a contraction mapping on non-empty complete metric space, fixed-point iteration always converges to a unique fixed-point.
The iteration process of COND can be written in the following function form:
Here is the function of , yet cannot be expressed analytically in usual cases. However, our one-shot contact solver described in Sec. III-D facilitates access to this difficulty.
Definition 2
V-FPI in COND is contractible if the contraction property of the iteration can be guaranteed under the proper matrix .
By Lemma 1, if we show the contractibility of V-FPI, it implies that we can ensure the convergence of iteration and the uniqueness of the problem solution. We find that exact and proximal operators exhibit different mathematical properties so the analysis for each will be dealt with separately. Note that we use 2-norm as a distance metric so further notation of denotes 2-norm of a matrix/vector. Also, will refer eigenvalues of the matrix, and will indicate representative velocity of -th node.
Remark 3 (Nodalization)
The contact acts only on the (virtual) nodes among the total system degrees of freedom. For this reason, the value of the elements of other than the indices of the node to which the contact acts is equal to that of - the description of the corresponding content will be omitted in the proofs.
IV-A Strict Operator
Since the strict operator gives the solution that exactly satisfy SCC, it means that if our V-FPI always converges, there is always a unique solution to the original contact problem. However, feasibility and uniqueness of the contact NCP solution cannot be always guaranteed [58, 28]. For this reason, dealing with complete convergence property of the strict operator is a fundamentally hard problem, unlike the proximal operator case (which will be explained later). Therefore, in this paper, we consider specific type of system.
Definition 3
A system is a completely-nodal system if the system is composed only of particle nodes, and contact only acts on the nodes.
Even if a definition of the completely-nodal system does not cover all commonly used system dynamics expressions, it can “represent” any system by adopting a sufficiently large number of nodes. We find that for the completely-nodal system with a sufficiently small time step, the contractibility of V-FPI can be guaranteed. For this, we first present the following lemma.
Lemma 2
Strict operator is Lipschitz continuous.
Proof:
From the property that projection on convex set is contraction [63] (and therefore, Lipschitz continuous), we can find that max operator is Lipschitz continuous, as is the invariant convex set. Therefore, we only need to show is Lipschitz continous. Suppose two inputs of are and with outputs are and correspond to each. Now consider following triangular inequality:
with and output . Then we can prove each of the following two:
-
•
for finite constant
If , it is trivial. If , it holds from the fact that following derivative is bounded:
If , it can be derived from following inequality:
where is the output of from input with large enough that satisfies .
-
•
for finite constant
Since and share same cross-section , the property is directly derived from the contraction property of convex set projection.
Finally, following inequalities hold
and therfore Lipschitz continuity is established. ∎
Here, the Lipschitz constant is dependent on friction coefficients and increases as the friction coefficient gets bigger. Based on the lemma, we can derive the following theorem.
Theorem 1
Suppose that the system is a completely-nodal system. Then V-FPI in Alg. 1 with the strict operator is contractible for sufficiently small time step .
Proof:
Consider that -th contact is S-contact on -th node. From
with triangular inequality,
holds. From Lemma 2, let us Lipschitz constant of the strict operator as . Then
is satisfied and we can find that
(40) |
holds. Now consider that -th contact is D-contact on -th node. Then similarly to above,
is satisfied and we can find that
(41) | ||||
holds for finite . Applying (40) and (41) to all contact,
is established for finite . Therefore from , if , V-FPI satisfies contraction property. Now recall the structure of in (9). Suppose as it satisfies the structure in Prop. 3 as the system is a complete-nodal system. Finally, from
we can reach by lowering . ∎
Although Thm. 1 does not describe the complete convergence property of the solver, it provides a partial answer to the uniqueness and existence of the contact NCP solution in the multi-contact situation which is previously unknown. We also believe that this result suggests that in the case of a completely-nodal system, small local deformation of the contact part is possible even when it is a rigid body, so the contradictions arising from assuming an ideal rigid body can be alleviated. Extensive study for generalization of the completely-nodal system will remain as future work. Note that aside from the theoretical analysis, we empirically observe that the solver is robustly convergent in the general case.
IV-B Proximal Operator
As mentioned earlier, when the proximal operator is used, it is the same as the solution of a convex optimization, which indicates the existence and uniqueness of the solution. We find that our algorithm can always ensure convergence in this case. To show this, we first utilize the following lemma.
Lemma 3
Consider the following equations:
Then for , following is holds:
Proof:
Since is a convex set, proximal operator has following property [63]:
where is the normal cone defined as
Therefore, and
is satisfied from the definition of normal cone. ∎

As depicted in Fig. 5, Lemma 3 does not always hold for the strict operator, since it takes a two-stage projection rather than finding the nearest point. Based on this lemma, we can prove the contractibility of our algorithm, which is shown in Thm. 2.
Theorem 2
V-FPI in Alg. 1 with the proximal operator is contractible.
Proof:
Suppose that -th contact is a S-contact on -th node. From the
we can derive following equations:
Then from Lemma 3, we can find that
(42) |
holds. Now suppose that -th contact is D-contact on -th nodes and holds. From
we can derive following equations:
Then from Lemma 3, we can find that
(43) | ||||
Applying (42) and (43) to all contacts,
is established. Therefore, from , contraction property is satisfied if holds. Now consider with . It satisfies the structure in Prop. 3 and for D-contact that we suppose. Also, since is a symmetric matrix, is also a symmetric matrix. Then
holds. Also from the positive definite property of shown in Prop. 1, we can easily find that
can be ensured, therefore, the V-FPI is contractible. ∎
The above implies an interesting insight; contacts are contributing property for the contraction property of the iteration process. For this reason, we observe that COND converges faster than proceeding linear solving on a gradient basis in the absence of contact, and convergence is still well established even in the case that is slightly over .
IV-C Determination of
As discussed above, choosing is the important part of the solver since the sufficient condition to guarantee the global convergence is directly related to the value of . As already known,
can enforce with the conditions required in Prop. 3. However, computing the eigenvalues of a large size matrix is generally time-consuming and using the fixed step size for every iteration, and index is not favorable in terms of performance. Here, we propose some efficient and robust strategies to determine . These strategies work well for all the cases we tested.
IV-C1 Frobenius norm minimization
Frobenius norm of which can be written as:
where subscript denotes -th row of matrix. Considering for each node that in contact, first-order necessary condition to minimize can be written as
If the nodes are in D-contact, as described above, components need to be the same value and the result can be derived similarly to above. For the index corresponds to the object that is not in contact, as it does not affect ,
can be used as in [64].
IV-C2 Barzilai-Borwein step size
Barzilai-Borwein method [65] is the popular method to solve large-scale optimization problems. Even though the problem we are dealing with is not an optimization problem, we find that the strategy can also be well adopted to our framework. Here, can be determined by two ways:
where and . Any of the two can be selected or can be used alternately as in [65].
We observe that the two methods show similar performance levels and that better methods vary depending on the scenario. Frobenius norm minimization takes longer to construct since it corresponds to complexity. We find that recycling for several time step sections can circumvent this, utilizing the fact that the value of does not significantly change for the adjacent time step. Note that reuse of does not affect the solver accuracy, since the variables associated with the true physical state (e.g., ) remain unchanged.
V Results and Evaluation
In this section, simulation results of diverse scenarios using COND with performance evaluation will be presented.
V-A Implementation Details
V-A1 Tools
For our implementation, we use Intel Core i5-7500 CPU 3.40GHz (Quad-Core), OpenGL as rendering tool, C++ Eigen as matrix computation library, and C++ OpenMP as parallelization library.
V-A2 Matrix format
To handle large-size matrices efficiently, we use compressed sparse column (CSC) format to store and . is stored as a stack of matrices. The matrices which are always guaranteed to be diagonal like and are stored in vector format.
V-A3 Collision detection
Collision detection is performed per time step. Here we use self-developed code, which is mainly based on vertex-volume detection.
V-A4 Solver specification
For all examples, we use fixed time step as . The strict operator is used in contact solver for all results except in Sec. V-F.
V-A5 Warm start
A warm start is utilized to promote the performance of the solver. For the part that is not a virtual node, we directly set as the value from the previous time step. The warm start of virtual nodes velocity is calculated by multiplying Jacobian mapping to the original state (i.e., state without virtual nodes) value. Note that this velocity warm start is not available in I-FPI based methods. Instead, we utilize the warm start in I-FPI to the previous time step value for the contact index overlapping the previous step.
V-B Effect of Virtual Nodes



Formulation | error [mm] | error [mm] | error [mm] |
COND () | 0.0000 | 0.1226 | 0.6131 |
COND () | 0.0000 | 0.0122 | 0.0612 |
COND () | 0.0000 | 0.0012 | 0.0061 |
Penalty1 | 0.0000 | 30.23 | 12.24 |
Penalty2 | 0.0000 | 63.87 | 15.32 |
In this subsection, we intend to characterize our formulation based on nodalization. Without virtual nodes, our framework does not take any relaxation. With virtual nodes, we show that the solution can precisely satisfy the SCC (11) for a reasonably large in Prop. 2. To demonstrate the property, we configure the simple test cases that apply a constant force (-direction) to the cube-shaped rigid box placed on the floor. The parameters are set to length , mass , the friction coefficient is set to , and the four vertices of the bottom face are set as contact points. We compare the result with an analytic solution, and the solution from the spring-damper-based penalty contact model [22]. Two gain sets are selected for the penalty model (Penalty1 and Penalty2), and the gains in Penalty2 are all gains in Penalty1 multiplied by 10.
Comparison results are depicted in Fig. 6 and Table I. Virtual node-based formulation utilized in COND shows a small error, and its magnitude decreases as increases. This demonstrates the consistency of virtual node formulation with original dynamics, which is described in Prop. 2. On the other hand, the spring-damper penalty model shows a much larger error. Also, the result varies greatly depending on the gain parameters and implausible behavior (e.g., bouncing motion) is generated in Penalty2. This also indicates that large gain values do not guarantee a reduction in error, unlike virtual node formulation.
V-C Multibody Simulation Examples
In this subsection, several multibody simulation examples are implemented using COND and evaluated.
V-C1 Baselines
As previously mentioned, due to their versatility, I-FPI-based methods are widely used in the robotics community, as well as in open-source simulation software (MuJoCo, Bullet, Chrono, etc.). Here, we implement the following two I-FPI baseline algorithms and characterize the difference between I-FPI and V-FPI: 1) projected Gauss-Seidel (PGS[17]); and 2) accelerated projected gradient descent (APGD[28]). Since they rely on Delassus operator assembly, factorization of the matrix is required. We use the SimplicialLLT function of the Eigen Sparse library for factorization, which is a state-of-the-art open-source implementation. Residual in I-FPI is converted to velocity space using the map and evaluated to be consistent with V-FPI.
V-C2 Performance index
Perform comparisons are conducted based on the following indices:
-
•
Max penetration: Max penetration at each time step
-
•
Dynamics index: Error from the ground-truth value for indices that reflect deformation, internal stress, etc.
-
•
Computation time: Time for each step, divided into 1) dynamics time, to construct (1) that includes calculation of constraint error, constraint error Jacobian, mass matrix computation and collision detection, etc. and 2) solver time, to obtain with the contact impulse .
As the ground-truth result for the dynamics index, real-world experimental values are used for two examples, while solutions from excessive iterations (thus, sufficiently converged with negligible residual) are used for the other examples. For all scenarios, 20 repetitions are performed under several randomized parameter settings.
V-C3 Soft Mat Manipulation




Solver | MP [mm] | IE [mN] | DT [ms] | ST [ms] | IN |
COND | 0.0033 | 1.868 | 9.568 | 8.650 | 39.72 |
PGS | 0.0328 | 0.917 | 9.599 | 1412 (898) | 50.59 |
APGD | 0.0576 | 1.492 | 9.563 | 1645 (890) | 81.57 |
Firstly, a robotic soft mat folding manipulation scenario is implemented. In this case, the contact situation includes a large number of contact and stick-slip transition behavior. Franka Emika Panda is used to fold the soft mat, the co-rotational FEM model is used to formulate the deformable part dynamics, and parameters are randomly chosen between Young modulus , Poisson ratio , and friction coefficient . Also in FEM modeling, 1477 nodes and 4100 tetrahedral elements are used, therefore total DOF is 4438 with 24606 constraints. For the dynamics index, we measure the internal force of the soft mat induced from its deformation and take the norm. A residual threshold is set as .




The results are illustrated in Fig. 7 and Table II. The most decisive difference is the computation time, where COND is over 100 times faster than PGS/APGD. This is a result of the COND feature, which performs iteration only by sparse matrix-vector multiplication without dense matrix operation. The methods based on I-FPI take near of Delassus operator calculation time alone. The penetration depth in the
Solver | MP [mm] | IE [N] | DT [ms] | ST [ms] | IN |
COND | 0.0058 | 0.1560 | 18.61 | 8.464 | 37.51 |
PGS | 1.9933 | 0.3189 | 18.51 | 805.1(624) | 233.9 |
APGD | 0.2325 | 0.1235 | 18.43 | 676.7(626) | 100.4 |
Solver | 0.1 MPa | 1 MPa | 10 MPa |
COND | 39.72 | 37.93 | 34.99 |
PGS | 145.8 | 224.0 | 306.7 |
APGD | 48.07 | 100.9 | 200.5 |
COND result is much lower than in the PGS/APGD result. This is very predictable because COND solves the surrogate dynamics problem at each iteration step so that the solution satisfies the contact condition. On the other hand, COND shows a larger internal force error, which can be interpreted as the residual is biased to the dynamics error. Note that the computation time of COND is fast, so this error can be further reduced by using more iterations. For example, by lowering the residual threshold as , we can obtain IE and ST . The average iteration numbers are comparable but lowest in COND, indicating that it converges to reasonable accuracy in tens of iterations on average.
V-C4 Soft Ball Gripping
Next, the scenario where a rigid gripper grasps soft ball is implemented. In this case, gripping generates a combined contact situation between dynamically moving rigid and soft parts, which should be handled using virtual nodes in COND. We design the gripper consisting of 6 DOF rigid bodies with 2 DOF prismatic joints which perform grasping of soft ball. A soft ball is modeled by co-rotational FEM and parameters are set as Young modulus , Poisson ratio , and the friction coefficient is set to . Also in FEM modeling, 1463 nodes and 6928 tetrahedral elements are used, therefore total DOF is 4397 with 41568 constraints. As in the soft mat scenario, the internal force of the soft ball is measured to assess the accuracy of dynamics, as it depends on the deformation and material properties of the ball. A residual threshold is set as .
The results are illustrated in Fig. 8 and Table III, IV. Although the dynamics time process differs slightly from other solvers due to the use of a virtual node, the majority of the processes are the same, so the time required is very similar. As in soft mat scenarios, the solver computation speed of COND is significantly faster than others (over x80). Also, COND allows for the least amount of penetration here, demonstrating the validity of the virtual node formulation. APGD can successfully simulate gripping without significant penetration and has the lowest internal force error, while internal force error in COND is larger than APGD but comparable. This is also a consistent result with the soft mat scenario, that the error of COND is dynamics-biased, but reaches a reasonable value after a few tens of iterations.
In many cases, PGS allows for large amounts of penetration. We also observe this improper contact behavior eventually degrades overall dynamics accuracy, resulting in the greatest internal force error. Failure of PGS is from convergence degradation of I-FPI, as the Delassus operator is ill-conditioned while the object is captured symmetrically on both sides. Our further experimental results in Table IV shows that the PGS and APGD iteration numbers increase as the stiffness of the ball increases. However, COND is resistant to this effect, as it takes V-FPI.
V-C5 Flexible Cable Manipulation






As shown in Fig. 9(a), we conduct simulations and experiment on cable winding manipulation using a robot arm (Franka Emika Panda). Here, dynamics equation of flexible cable is constructed using Cosserat rod model [66] and parameters of the cable are measured following to [43]: Young modulus , Poisson ratio , and friction coefficient . When testing for indicators other than experimental comparisons, these parameters are randomized as , , and . The entire cable is split into a total of 320 links, therefore total DOF is 1927 with 1926 constraints. For the comparison with the experiment, we measure the force applied to the end effector of the robot arm during the operation task using the F/T sensor (ATI Gamma). A residual threshold is set as .
Overall results are depicted in Fig. 9 and Table V. As in previous scenarios, COND is significantly faster than the other two, while APGD outperforms PGS. In the case of end effector force, the overall value agrees well with the experimental value, and the results of the three solvers are nearly identical. This means that the COND iteration can rapidly arrive at a solution that satisfies the analytical cable model equations, which is close to the real world physics. The remaining error can be described as a gap between the model and the real world, and it may be resolved through more precise matching (e.g., damping parameter) in future work. Iteration number in COND is significantly lower than in others, and again, as expected, COND has the lowest penetration error.
Solver | MP [mm] | FE [N] | DT [ms] | ST [ms] | IN |
COND | 0.0021 | 0.3996 | 2.086 | 1.229 | 18.28 |
PGS | 0.0521 | 0.3997 | 2.103 | 74.27 (28.2) | 65.61 |
APGD | 0.0556 | 0.3976 | 2.112 | 56.72 (27.9) | 46.05 |
V-C6 Soft Gripper






Solver | MP [mm] | FE [N] | DE [mm] | DT [ms] | ST [ms] | IN |
COND | 0.0005 | 0.1169 | 1.898 | 43.24 | 18.24 | 30.88 |
PGS | 0.0397 | 0.1175 | 1.895 | 42.89 | 547.0 (533) | 59.06 |
APGD | 0.0409 | 0.1172 | 1.896 | 42.78 | 547.3 (533) | 57.81 |
Lastly, we simulate and experiment with the contact situation between the soft gripper and the rigid object. The soft gripper part is made using liquid silicone Ecoflex 0050 (Smooth-on Inc.) and attached to a linear actuator so that it could be operated as a gripper. The rigid object part is manufactured using a 3D printer (PLA). The soft gripper dynamics is modeled using co-rotational FEM, and we use the Ecoflex 0050 material parameter reported in [67] (Young modulus: , Poisson ratio: ), and the friction coefficient is determined using a simple stick-slip test, yielding a value of . When testing for indicators other than experimental comparisons, these parameters are randomized as , , and . For FEM modeling, 4889 nodes and 18122 tetrahedral elements are used, therefore total DOF is 14681 with 108744 constraints. The rigid part is modeled as a dynamic object rather than a static environment, so virtual nodes are applied to its points of contact. For experimental comparison, the contact force is measured with the F/T sensor (ATI Gamma) connected to the rigid part, and the displacement of the markers attached to the soft gripper at the final state is measured using a vision sensor (SC-FD110B). A residual threshold is set at .
Fig. 10 and Table VI show the overall result. As in cable manipulation scenario, the force/displacement results well match with the experiment for all three solvers, and the difference in error level is insignificant. But still, there exists a gap with reality. COND allows for the least amount of penetration and the fastest solver times (over 30x faster). Note that in the scenario, the number of contact points is relatively small (around 40), therefore the speed increase amount in COND is relatively lower compare to other scenarios. Finally, COND shows the lowest average number of iterations.
V-D Scalability


Although the computational advantage of COND is clearly demonstrated in the preceding subsection, we proceed with further experiments to measure its scalability in more detail. For the soft mat manipulation scenario, we check the solver time while changing the node number of the FEM model. A residual threshold is set at for all tests.
Scalability measure results are depicted in Fig. 11. The computation time of COND increases as almost linear (R-squared value: 0.9997) as DOF increases, which demonstrates the analysis in Sec. III-F. Meanwhile, computation of PGS/APGD grows super-linearly as DOF increases, which originated from matrix factorization and dense matrix operations.
V-E Comparison with Other Methods in Graphics
Apart from popular and versatile I-FPI-based methods, there have been several attempts to improve computational efficiency. Most of them are originated in the field of graphics, primarily dealing with large-scale problems, and in this subsection, COND and their comparisons are discussed.
V-E1 Contact constraint splitting
Solver | MP [mm] | IE [mN] | ST [ms] |
COND (50) | 0.0049 | 0.9662 | 10.85 |
COND (100) | 0.0050 | 0.1620 | 20.90 |
CCS (50) | 0.0051 | 13.40 | 65.99 |
CCS (100) | 0.0053 | 6.559 | 107.9 |
In [16], the contact dynamics problem is divided into two subproblems using the alternating direction method of multiplier (ADMM), thereby replacing the assembly of the Delassus operator with multiple linear solving processes. The methods significantly reduce simulation time for hair/cloth, making them state-of-the-art in the field. In this paper, we denote the algorithm as contact constraint splitting (CCS) and implement it for a soft mat manipulation scenario. Note that the method is intended for thin nodal objects, thus it is not compatible with contact situations over joint variables or rotation representations (e.g., gripping scenarios). Since CCS employs ADMM, it is ambiguous to set the fair residual threshold value because primal and dual residuals must be considered together. Hence, we compare the performance under the fixed number of iterations.
The results are summarized in Table VII. As the projection variable of CCS guarantees the contact feasibility, it also shows a comparable penetration amount with COND. However, internal force error result is much similar in COND, which means COND converges faster to accurate solution. Also, computation time is nearly 5 times faster in COND. This is unsurprising, because CCS requires linear solving of size for every iteration step, whereas COND only necessitates matrix-vector multiplication. Overall, given the versatility of COND for robotic simulation, it is clear that this is a better option in many cases. Combining CCS with contact nodalization to improve its applicability (e.g., joint variables) is also an interesting option, but we observe that the ADMM algorithm of CCS does not converge well in this case.
V-E2 Position-based dynamics




Solver | MP [mm] | FE [N] | TT [ms] |
COND (100) | 0.0031 | 0.553 | 3.949 |
COND (200) | 0.0032 | 0.553 | 7.125 |
PBD (100) | 0.0036 | 2.654 | 94.45 |
PBD (200) | 0.0026 | 1.575 | 187.6 |
For various graphical and robotic applications [40, 41] with open-source software (FleX, Brax, etc.), position-based dynamics (PBD) is a prevalent method for deformable body simulation. In PBD, non-linear Gauss-Seidel iteration is performed for each constraint, therefore, can avoid large-size matrix factorization and multiplication. We implement the flexible cable manipulation scenario using position-based dynamics (PBD). We adopt the substepping and contact handling method presented in [68], which are the state-of-the-art techniques to increase the performance of PBD. PBD differs from our solver in several respects, as it is not derived from the form of (1), nor does it use complementarity-based contact conditions. Thus, as in CCS comparison, performance over a fixed iteration number is evaluated. When using 320 links as in Sec. V-C, we observe that the convergence of the PBD is extremely poor. Instead, 120 links are used.
The results are depicted in Table VIII. For COND, the results from 100 and 200 iterations are nearly identical, while the force error matches the experimental results well. However, in PBD results, the result varies with iteration number, which denotes that the solution does not sufficiently converge to the ground-truth solution. Also, as shown in Fig. 12(a), the visual appearance of the PBD result is plausible, implying that the results for proper graphics may be insufficient for overall accuracy. In terms of computation time, COND has a faster computation time per iteration step. This is due to the fact that PBD performs sequential constraint handling with state update, which is more time-consuming than a single matrix-vector multiplication.
V-F Invertible Contact Model




The applicability of COND in the invertible contact model is evaluated. For soft mat and soft ball gripping scenarios, we applied the model described in Sec. III-E and record vector norm of forwardly/inversely calculated contact forces applied to all nodes for each time step. The implementation is based on the proximal operator, and regularization term is set as for both scenarios, with residual threshold .
Results are depicted in Fig. 13. We can find that the invertible property is well preserved as a forward result and the inverse result well-matched, as the error amount is for soft mat, for soft ball. This demonstrates the solver successfully handle the convex optimization problem. In Franka soft mat scenario, the results using the proximal operator show that jittering occurs during sliding unlike the results using the strict operator. This seems to have occurred due to the fact that Signorini conditions are not exactly satisfied in the proximal operator, and repeatedly take off and collide simultaneously across nodes. On the other hand, for the softball gripping scenario, the two results are very similar. Also in some cases, the proximal operator requires an adequate amount of to avoid implausible contact behavior (e.g., detaching).
V-G Anisotropic Friction


Simulation with anisotropic friction is tested using box slipping scenario. As in Fig. 14(b), we set ellipsoidal friction model (12) with various set of and measure trajectory while the initial velocity is set to . Then we compare the result with the solution obtained from MDP problem, and the result is depicted in Fig. 14(b). The trajectory of the box is curved, as seen in other experimental reports [60]. In addition, the trajectory is exactly matched with the MDP solution, demonstrating the property described in Prop. 6.
V-H Effect of Chebyshev Acceleration
Scenario | Avg. iter. (w.o. Cheby.) | Avg. iter. (w. Cheby.) |
Franka mat | 167.4 | 39.72 |
Gripper ball | 138.8 | 37.51 |
Franka cable | 40.14 | 18.28 |
Soft gripper | 155.7 | 30.88 |
To evaluate the efficacy of Chebyshev acceleration in COND, we perform an ablation study that compares the average iteration number for convergence with/without Chebyshev acceleration. As shown in Table IX, the average iteration number to reach the threshold value is decreased for all scenarios and demonstrates that Chebyshev acceleration effectively works on COND.
VI Discussions and Future Work
While COND handles common multibody situations, better alternatives exist in some cases. For example, in granular material simulation or tight tolerance assembly (e.g., bolt-nut assembly) simulation, computation of the Delassus operator is easy, while COND requires a large number of virtual nodes. In such cases, I-FPI-based methods such as [28] may perform better. In general, COND is most effective when the system involves many internal constraints (therefore, hard to factorize ), such as deformable object manipulation. Therefore, the direction of proper integration of CONDs with other solvers will be an interesting topic.
Although not explicitly demonstrated through implementation, we believe that other kinematic constraints such as non-holonomic constraints can be dealt with in following approaches: 1) softening and incorporation as a potential function; and 2) extension of contact diagonalization into a general constraint form using the idea of virtual nodes. In future work, we will concretely develop the approaches, with several implemented scenarios.
The current strategy for determining in Sec. IV-C works well, but there may still be a room for improvement. For instance, Nesterov momentum [28] and Anderson acceleration [69] can be adopted to our framework. The Barzilai-Borwein method including diagonal scaling [70] is also seen as a possible direction. Based on the strategies, verifying the theoretical convergence rate will be useful. Also, the number of fixed points remains unknown when using the strict operator. While it does not yet induce practical issues, it makes sense to explore cases where solutions do not exist. It will also be interesting to present other operators capable of ensuring uniqueness and other useful properties.
As shown in comparison with experiments, simulators can represent reality to some extent, but there are still sim-to-real gaps for a variety of reasons. From this point of view, integration with the so-called real-to-sim method such as [40] will be promising. Further improvement of efficiency by combining with model order reduction schemes is a practically meaningful direction. As our method is well compatible with parallelization, GPU implementation will contribute well to the performance. Finally, as an extension of our project in https://github.com/INRoL/inrol_sim_cablewinding, the development of an open-source framework will be a valuable contribution to the community.
VII Conclusion
In this paper, we propose the new multibody simulation framework COND. The framework mainly focuses on developing velocity fixed-point iteration, which can avoid large-dimensional matrix factorization and multiplication while utilizing a complementarity-based contact model. To that end, we first propose contact nodalization based on virtual nodes, which converts all contact into nodal situations. Then, using the contact diagonalization technique, we create a contact solving algorithm based on solving multiple surrogate dynamics problems, and each surrogate dynamics problem can be solved in a one-shot/parallelized manner. Theoretical statements related to the accuracy and convergence of the solver are presented. Simulations and experiments are carried out for a variety of multibody examples. The results demonstrate that our solver is significantly faster than popular factorization-based solvers, and shows near complexity in practice. Also, it is shown that COND can produce the result with convincing accuracy compared to the ground-truth results. Despite its performance and versatility, COND still has room to evolve such as numerical techniques and integration with other solvers, and future work will focus on topic like these.
References
- [1] L. Kunze, N. Hawes, T. Duckett, M. Hanheide, and T. Krajník. Artificial intelligence for long-term robot autonomy: A survey. IEEE Robotics and Automation Letters, 3(4):4023–4030, 2018.
- [2] Y. Narang, B. Sunarlingam, M. Macklin, A. Mousavian, and D. Fox. Sim-to-real for robotic tactile sensing via physics-based simulation and learned latent projections. In IEEE International Conference of Robotics and Automation, 2021.
- [3] M. A. Lee, Y. Zhu, P. Zachares, M. Tan, K. Srinivasan, S. Savarese, L. Fei-Fei, A. Garg, and J. Bohg. Making sense of vision and touch: Learning multimodal representations for contact-rich tasks. IEEE Transactions on Robotics, 36(3):582–596, 2020.
- [4] F. Agostinelli, S. McAleer, A. Shmakov, and P. Baldi. Solving the rubik’s cube with deep reinforcement learning and search. Nature Machine Intelligence, 1(8):356–363, 2019.
- [5] Y. Chebotar, A. Handa, V. Makoviychuk, M. Macklin, J. Issac, N. Ratliff, and D. Fox. Closing the sim-to-real loop: Adapting simulation randomization with real world experience. In IEEE International Conference on Robotics and Automation, 2019.
- [6] J. Hwangbo, J. Lee, A. Dosovitskiy, D. Bellicoso, V. Tsounis, V. Koltun, and M. Hutter. Learning agile and dynamic motor skills for legged robots. Science Robotics, 4(26), 2019.
- [7] D. Son, H. Yang, and D. Lee. Sim-to-real transfer of bolting tasks with tight tolerance. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2020.
- [8] L. Pinto, M. Andrychowicz, P. Welinder, W. Zaremba, and P. Abbeel. Asymmetric actor critic for image-based robot learning. In Robotics: Science and Systems, 2018.
- [9] E. Valassakis, N. D. Palo, and E. Johns. Coarse-to-fine for sim-to-real: Sub-millimetre precision across wide task spaces. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2021.
- [10] X. B. Peng, M. Andrychowicz, W. Zaremba, and P. Abbeel. Sim-to-real transfer of robotic control with dynamics randomization. In IEEE International Conference of Robotics and Automation, 2018.
- [11] J. Matas, S. James, and A. J. Davison. Sim-to-real reinforcement learning for deformable object manipulation. In Conference on Robot Learning, 2018.
- [12] H. Zhang, J. Ichnowski, D. Seita, J. Wang, H. Huang, and K. Goldberg. Robots of the lost arc: Self-supervised learning to dynamically manipulate fixed-endpoint cables. In IEEE International Conference of Robotics and Automation, 2021.
- [13] S. Hofer, K. Bekris, A. Handa, G. C. Gamboa, F. Golemo, M. Mozifian, C. Atkeson, D. Fox, K. Goldberg, Leonard J., C. K. Liu, J. Peters, S. Song, P. Welinder, and M. White. Perspectives on sim2real transfer for robotics: A summary of the r:ss 2020 workshop. In Workshop in Robotics: Science and Systems, 2020.
- [14] E. Todorov, T. Erez, and Y. Tassa. Mujoco: A physics engine for model-based control. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012.
- [15] O. Goury and C. Duriez. Fast, generic, and reliable control and simulation of soft robots using model order reduction. IEEE Transactions on Robotics, 34(6):1565–1576, 2018.
- [16] G. Daviet. Simple and scalable frictional contacts for thin nodal objects. ACM Transactions on Graphics, 39(4), 2020.
- [17] P. C. Horak and J. C. Trinkle. On the similarities and differences among contact models in robot simulation. IEEE Robotics and Automation Letters, 4(2):493–499, 2019.
- [18] J. Hwangbo, J. Lee, and M. Hutter. Per-contact iteration method for solving contact dynamics. IEEE Robotics and Automation Letters, 3(2):895–902, 2018.
- [19] F. Bertails-Descoubes, F. Cadoux, G. Daviet, and V. Acary. A nonsmooth newton solver for capturing exact coulomb friction in fiber assemblies. ACM Transactions on Graphics, 30(1):1–14, 2011.
- [20] T. Liu and M.Y. Wang. Computation of three-dimensional rigid-body dynamics with multiple unilateral contacts using time-stepping and gauss-seidel methods. IEEE Transactions on Automation Science and Engineering, 2(1):19–31, 2005.
- [21] K. Erleben. Rigid body contact problems using proximal operators. In Eurographics Symposium on Computer Animation, 2017.
- [22] K. Yamane and Y. Nakamura. Stable penalty-based model of frictional contacts. In IEEE International Conference on Robotics and Automation, 2006.
- [23] N. Khude, I. Stanciulescu, D. Melanz, and D. Negrut. Efficient parallel simulation of large flexible body systems with multiple contacts. Journal of Computational and Nonlinear Dynamics, 8(4), 2013.
- [24] D. M. Kaufman, S. Sueda, D. L. James, and D. K. Pai. Staggered projections for frictional contact in multibody systems. ACM Tranactions on Graphics, 27(5):1–11, 2008.
- [25] E. Drumwright and D. A. Shell. An evaluation of methods for modeling contact in multibody simulation. In IEEE International Conference on Robotics and Automation, 2011.
- [26] M. Anitescu and F. A. Potra. Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity problems. Nonlinear Dynamics, 14:231–247, 1997.
- [27] J.E. Lloyd. Fast implementation of lemke’s algorithm for rigid body contact simulation. In IEEE International Conference on Robotics and Automation, 2005.
- [28] H. Mazhar, T. Heyn, D. Negrut, and A. Tasora. Using nesterov’s method to accelerate multibody dynamics with friction and contact. ACM Transactions on Graphics, 34(3):1–14, 2015.
- [29] M. Anitescu and A. Tasora. An iterative approach for cone complementarity problems for nonsmooth dynamics. Computational Optimization and Applications, 47:207–235, 2010.
- [30] E. Todorov. Convex and analytically-invertible dynamics with contacts and constraints: Theory and implementation in mujoco. In IEEE International Conference on Robotics and Automation, 2014.
- [31] Bullet physics engine. https://pybullet.org/.
- [32] A. Tasora, R. Serban, H. Mazhar, A. Pazouki, D. Melanz, J. Fleischmann, M. Taylor, H. Sugiyama, and D. Negrut. Chrono: An open source multi-physics dynamics engine. 2015.
- [33] Raisim physics engine. https://raisim.com/.
- [34] J. Yoon, I. Hong, and D. Lee. Passive model reduction and switching for fast soft object simulation with intermittent contacts. In IEEE International Conference on Intelligent Robots and Systems, 2019.
- [35] Simulation open framework architecture. https://www.sofa-framework.org/.
- [36] M. Macklin, M. Müller, and N. Chentanez. Xpbd: Position-based simulation of compliant constrained dynamics. In International Conference on Motion in Games, 2016.
- [37] M. Macklin, K. Erleben, M. Müller, N. Chentanez, S. Jeschke, and V. Makoviychuk. Non-smooth newton methods for deformable multi-body dynamics. ACM Transactions on Graphics, 38(5):1–20, 2019.
- [38] Flex physics engine. https://developer.nvidia.com/flex.
- [39] Brax - a differentiable physics engine for large scale rigid body simulation. http://github.com/google/brax.
- [40] F. Liu, Z. Li, Y. Han, J. Lu, F. Richter, and Michael C. Yip. Real-to-sim registration of deformable soft tissue with position-based dynamics for surgical robot autonomy. In IEEE International Conference on Robotics and Automation, 2021.
- [41] F. Lie, E. Su, J. Lu, M. Li, and M. C. Yip. Differentiable robotic manipulation of deformable rope-like objects using compliant position-based dynamics. In https://arxiv.org/pdf/2202.09714.pdf, 2022.
- [42] A. Peiret, F. González, J. Kövecses, M. Teichmann, and A. Enzenhoefer. Model-based coupling for co-simulation of robotic contact tasks. IEEE Robotics and Automation Letters, 5(4):5756–5763, 2020.
- [43] J. Lee, M. Lee, J. Yoon, and D. Lee. A parallelized iterative algorithm for real-time simulation of long flexible cable manipulation. In IEEE International Conference on Robotics and Automation, 2021.
- [44] J. Li, G. Daviet, R. Narain, F. Bertails-Descoubes, M. Overby, G. E. Brown, and L. Boissieux. An implicit frictional contact solver for adaptive cloth simulation. ACM Transactions on Graphics, 37(4):1–15, 2018.
- [45] A. R. Champneys and P. L. Varkonyi. The Painleve paradox in contact mechanics. IMA Journal of Applied Mathematics, 81(3):538–588, 2016.
- [46] M. Kim, Y. Lee, Y. Lee, and D. J. Lee. Haptic rendering and interactive simulation using passive midpoint integration. International Journal of Robotics Research, 36(12):1341–1362, 2017.
- [47] G. F. Moita and M. A. Crisfield. A finite element formulation for 3-d continua using the co-rotational technique. International Journal of Numerical Method in Engineering, 39(22):3775–3792, 1996.
- [48] M. Tournier, M. Nesme, B. Gilles, and F. Faure. Stable constrained dynamics. ACM Transactions on Graphics, 34(4):1–10, 2015.
- [49] K. You and H. Park. Re-visiting riemannian geometry of symmetric positive definite matrices for the analysis of functional connectivity. NeuroImage, 225:117464, 2021.
- [50] J. H. Nicholas. Computing a nearest symmetric positive semidefinite matrix. Linear Algebra and its Applications, 103:103–118, 1988.
- [51] S. Bouaziz, S. Martin, T. Liu, L. Kavan, and M. Pauly. Projective dynamics: Fusing constraint projections for fast simulation. ACM Transactions on Graphics, 33(4):1–11, 2014.
- [52] P. Volino and N. Magnenat-Thalmann. Implicit midpoint integration and adaptive damping for efficient cloth simulation. Computer Animation and Virtual Worlds, 16(3-4):163–175, 2005.
- [53] E. R. Johnson and T. D. Murphey. Scalable variational integrators for constrained mechanical systems in generalized coordinates. IEEE Transactions on Robotics, 25(6):1249–1261, 2009.
- [54] R. Featherstone and D. Orin. Robot dynamics: Equations and algorithms. In IEEE International Conference on Robotics and Automation, 2000.
- [55] Y. Wang, N. J. Weidner, M. A. Baxter, Y. Hwang, D. M. Kaufman, and S. Sueda. Redmax: Efficient flexible approach for articulated dynamics. ACM Transactions on Graphics, 38(4):1–10, 2019.
- [56] N. Parikh and S. Boyd. Proximal algorithms. Foundations and Trends in Optimization, 1(3):127–239, 2014.
- [57] K. Erleben, M. Macklin, S. Andrews, and P. G. Kry. The matchstick model for anisotropic friction cones. Computer Graphics Forum, 39(1):450–461, 2020.
- [58] T. Preclik, S. Eibl, and U. Rude. The maximum dissipation principle in rigid-body dynamics with inelastic impacts. Computational Mechanics, 62:81–96, 2017.
- [59] K. Yu, M. Bauza, N. Fazeli, and A. Rodriguez. More than a million ways to be pushed. a high-fidelity experimental dataset of planar pushing. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2016.
- [60] D. Ma and A. Rodriguez. Friction variability in planar pushing data: Anisotropic friction and data-collection bias. IEEE Robotics and Automation Letters, 3(4):3232–3239, 2018.
- [61] H. Wang. A chebyshev semi-iterative approach for accelerating projective and position-based dynamics. ACM Transactions on Graphics, 34(6):1–9, 2015.
- [62] S. P. Richard. A simple proof of the banach contraction principle. Journal of Fixed Point Theory and Applications, 2:221–223, 2007.
- [63] C. W. Studer. Augmented time-stepping integration of non-smooth dynamical systems. PhD thesis, 2008.
- [64] P. Tarazaga and D. Cuellar. Preconditioners generated by minimizing norms. Computers Mathematics with Applications, 57(8):1305–1312, 2009.
- [65] Y. Dai and R. Fletcher. Projected barzilai-borwein methods for large-scale box-constrained quadratic programming. Numerische Mathematik, 100:21–47, 2005.
- [66] M. B. Rubin. Cosserat Theories: Shells, Rods and Points. Springer, 2013.
- [67] P. Roberts, D. D. Damian, W. Shan, T. Lu, and C. Majidi. Soft-matter capacitive sensor for measuring shear and pressure deformation. In IEEE International Conference on Robotics and Automation, 2013.
- [68] M. Macklin, K. Storey, M. Lu, P. Terdiman, N. Chentanez, S. Jeschke, and M. Müller. Small steps in physics simulation. In ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2019.
- [69] J. Zhang, Y. Peng, W. Ouyang, and B. Deng. Accelerating admm for efficient simulation and optimization. ACM Transactions on Graphics, 38(6):1–21, 2019.
- [70] Y. Park, S. Dhar, S. Boyd, and M. Shah. Variable metric proximal gradient method with diagonal barzilai-borwein stepsize. In IEEE International Conference on Acoustics, Speech and Signal Processing, 2020.