Collisions of rigid-link robots and rigid environments are often modeled as instantaneous events. Under this idealization, the impact forces become impulsive and the system velocities nonsmooth. In this work, we systematically analyze pre- and post-impact velocities focusing on what we refer to as the "nonsmooth impact direction" (NSID). We show that it is a characteristic direction of a robotic impact and largely independent of contact properties. The results are directly applicable to large classes of backdrivable robotic systems with rigid links. We address particularities of systems with non-elastic and flexible joints, unconstrained as well as constrained systems. Further, we show that the approach direction w.r.t the NSID sets the direction of the impulsive force in frictional, inelastic impacts. The comprehensive theoretical analysis of this work supported by an experimental validation may serve as a foundation for future planning and control algorithms for various robotic impact applications. These can include humanoid locomotion on a slippery surface or repetitive hammering.
contact modeling, dynamics, motion and path planning, impact-aware robotics
Humans routinely perform physical impacts in everyday activities. Examples range from placing objects down energetically, hammering, and assembling furniture components, to running, jumping, and catching, kicking, or batting an object. In all these cases, we benefit from the large, impulsive forces, and accelerate or decelerate our own motion or that of objects we manipulate within a very short time.
With cobots and humanoids being on the rise, robots are no longer only used in industry and for clearly defined, repetitive tasks. Instead, they are safely collaborating with humans side by side and are taking over human tasks as needed. However, a lot of these robotic systems are not built to resist impacts. Especially the gears and torque sensors of cobots are prone to be damaged by the impulsive forces. While slight impacts have still been demonstrated with common cobots [1]–[3], the range of feasible contact velocities is strongly restricted.
Besides challenges for the hardware, dealing with impacts also is not straightforward for planning and control of the robotic system. At an impact, velocity changes have been observed to build up in a matter of few milliseconds [1], [4]. Thus, they cannot be shaped desirably during their occurrence by state-of-the-art control architectures operating at frequencies of few \(\SI{}{\kilo\hertz}\). Hence, a planning and control framework for impact applications needs to be able to deal with sudden velocity changes and large external forces whose exact timing and location might be hard to predict.
To address these problems, and to enable robots to also take on impact tasks, the field of impact-aware robotics has gained increasing attention. Instead of treating impacts as a disturbance to be avoided, they are considered as part of the task. Besides creating robust hardware [5]–[7], impact models are derived and validated [1], [3], [4], [8], [9], and planning and control methods [2], [10]–[14] are designed.
For the development of model-based impact planners and controllers, reliable impact models are required. The impact dynamics of two colliding bodies can be divided into a compression phase and a restitution phase, corresponding to the reduction of the bodies’ relative speed to zero and the buildup of a reverse velocity, respectively [15]. This comes with material deformations, which are relatively small and short lived for almost rigid bodies. Contact models describing the dynamics of the deformation exist [16] and have been utilized for robotic applications [2]. However, as the impact dynamics of robots with rigid links colliding with rigid surfaces have been observed to be significantly faster than the (controlled) robot dynamics, impacts are often treated as instantaneous events in robotics [4], [8], [17]. Under this idealization, forces acting at an impact become impulsive and system velocities nonsmooth. Then, two velocities are related to the time instant of the impact: a pre-impact and a post-impact one. The common model used to map pre- to post-impact generalized velocities of a robotic system considers the robot as a jointed rigid-link system without actuation at the impact. It is founded in nonsmooth mechanics [18] and has been applied in robotics for more then thirty years [17], [19] for fixed-base manipulation [20] as well as locomotion [13], [21]. Recently, it has been experimentally validated for torque-controlled robots [1], [8]. Moreover, extensions and modifications exist, e.g., for kinematic-controlled, non-backdrivable robots [4], [9].
While impacts clearly modify system velocities of robots, not all directions of the configuration space or task space are equally affected [18]. Recent works demonstrate that knowledge about impact-invariant and nonsmooth directions of an robotic impact can benefit planning and control [13], [22]. However, to the best of our knowledge, there is no comprehensive study of such directions in robotic impacts, which analyzes their properties and makes them accessible for further applications.
In this work, we present a systematic, projection-based analysis of the commonly used, instantaneous, frictionless robotic impact model, which incorporates contact elasticity via Newton’s restitution law [17]. Inspired by [13], [22], we separate first the configuration space, and then the task space in an impact invariant subspace as well as a nonsmooth impact direction (NSID). This decomposition is shown to not depend on the restitution coefficient and provides geometrically intuitive insights into effects of the approach direction on the rebound direction.
Our work focuses on the NSID, which we identify as a characteristic direction of a robotic impact scenario. Foremost, it is the unique approach direction, which is reversed upon an arbitrarily elastic impact. Only the scaling of the post-impact velocity along the reversed NSID depends on the impact elasticity.
Moreover, we discuss the NSID’s relation to the inertia ellipsoid showing that the NSID aligns with a principal axis of the ellipsoid if and only if it is perpendicular to the contact normal.
For the special case of fully inelastic impacts, we show that the NSID can be interpreted as the "non-slippage impact direction" derived in [22]. We extend the analysis of [22] by explicitly taking contact friction into account. Notably, we prove that an approach along the NSID generates an impulsive force that is normal to the constraint surface, independent of the frictional properties. Consequently, such an approach prevents post-impact slippage for arbitrarily frictional, fully inelastic impacts.
The analysis of this paper is directly applicable to backdrivable, rigid-link robotic systems with fixed and floating bases. We address particularities of robots with flexible joints and constrained systems separately.
Experiments with a passive multi-body system and a torque-controlled robot under various control approaches validate our core statements and their practical relevance.
Our results shall inform future impact-aware planning or control algorithms and applications ranging from humanoid running to hammering.
We discuss related works in Sec. 2 and provide the necessary mathematical fundamentals as well as the utilized state-of-the-art impact model in Sec. 3. In Sec. 4, the considered impact model is systematically analyzed and the NSID is introduced in configuration and task space. In Sec. 5, we discuss different interpretations of the NSID in detail. Section 6 addresses the special case of fully inelastic impacts. In the following, we extend our analysis to flexible joint robots in Sec. 7, and to constrained robots in Sec. 8. Experiments with a passive system and a torque-controlled manipulator are presented in Sections 9 and 10, respectively. Finally, we conclude the work in Sec. 11.
Instantaneous impacts in multibody systems have been extensively studied in the mechanics literature, e.g., [15], [23]. Within this context, the field of nonsmooth mechanics is particularly relevant, where seminal contributions include [18], [24], [25]. Although our analysis is not based on the same set-valued or measure-theoretic formalism traditionally used in nonsmooth mechanics, the underlying physical principles are identical. Consequently, the direction that we refer to as the NSID naturally appears in these works. In particular, it is expressed as the normal direction to the constraint surface under the kinetic metric in [18]. To the best of our knowledge, however, a dedicated and comprehensive analysis of this direction with robotics applications in mind has not yet been presented. Moreover, our projection-based derivation provides a geometric interpretation that, we believe, makes the concept more accessible to the robotics community.
Recently, impact applications have been successfully demonstrated with robotic systems such as pushing [12], fast grasping [14], [26], catching [2], or jumping [13]. For that purpose, control frameworks like reference-spreading [14], [27] or impact-invariant control [13] have been proposed, which are capable of dealing with discontinuous control errors appearing at uncertain timing. To exploit the impact dynamics for tasks like pushing or hammering, a dedicated planning of the robot’s pre-impact state has been discussed. For example, [22] achieves impacts without post-impact slippage by approaching the contact along a configuration-dependent direction, while [28] selects the impacting link based on the desired reflected inertia. The impulsive force at impact depends on the reflected inertia in the direction of the contact normal [17], which can be characterized by the generalized impact ellipsoid, dual to the generalized inertia ellipsoid [29]. While minimizing reflected inertia is often pursued for safety in human–robot interaction [30], [31], intentional impacts may instead benefit from a large or optimized reflected inertia in the contact direction [12], [28].
The work at hand aims to further inform model-based impact-aware planning and control frameworks by providing a systematic analysis of impact-induced discontinuities. The works [13] and [22] are closely related and will be situated with respect to our contribution in the following.
The recent work [13] identifies impact-invariant velocity directions in task and configuration space for inelastic impacts based on the nonsmooth impact model [17]. Their impact-aware tracking controller projects the velocity error onto this subspace in a short time window around the expected impact. This strategy effectively shields the controller from inaccuracies in the estimated impact time, which is demonstrated in bipedal jumping experiments. Although the NSID is not derived in [13], the controller rejects all components of the velocity error parallel to the NSID around the impact event. While [13] focuses on the control strategy and its experimental validation, we provide an extensive analysis of the underlying impact dynamics and the associated invariant and nonsmooth subspaces. As opposed to [13], we consider the general case of arbitrarily elastic impacts and provide extensions to robots with flexible joints and constrained systems.
The work [22] shows that post-impact slippage can be prevented by performing the impact along a unique, target-dependent approach direction, termed the "non-slippage impact direction". Experiments with a torque-controlled manipulator confirm the theoretic results. The analysis in [22] is based on the impact model of [17] but restricted to systems with non-elastic joints and fully inelastic, frictionless contacts.
After deriving and interpreting the NSID for impacts with arbitrary coefficient of restitution in the following, we will show that it can be interpreted as the "non-slippage impact direction" from [22] for the special case of fully inelastic impacts. The shared acronym was deliberately chosen to reflect this connection. Consequently, for inelastic impacts, all results obtained in the more general analysis presented in this work can be leveraged to realize impacts without slippage, for example in flexible-joint robots or constrained systems. Moreover, we extend the results of [22] by incorporating contact friction into both the theoretical analysis and the experimental validation for inelastic contacts.
Consider an arbitrary matrix \({\boldsymbol{\mathbf{U}}\in\mathbb{R}^{b\times a}}\) with \({a \geq b > 0}\) of rank \(b\). In the following we will denote the right generalized inverse \[\label{eq:pseudoInv} \boldsymbol{\mathbf{U}}^{\boldsymbol{\mathbf{W}}^\dagger} = \boldsymbol{\mathbf{W}}^{-1}\boldsymbol{\mathbf{U}}^T\left(\boldsymbol{\mathbf{U}} \boldsymbol{\mathbf{W}}^{-1}\boldsymbol{\mathbf{U}}^T\right)^{-1}\tag{1}\] of \(\boldsymbol{\mathbf{U}}\) as \(\boldsymbol{\mathbf{U}}^{\boldsymbol{\mathbf{W}}^\dagger}\). Therein \(\boldsymbol{\mathbf{W}} \in \mathbb{R}^{a\times a}\) is a positive definite and symmetric weighting matrix. It holds \(\boldsymbol{\mathbf{U}} \boldsymbol{\mathbf{U}}^{\boldsymbol{\mathbf{W}}^\dagger} = \boldsymbol{\mathbf{I}}\), with identity matrix \(\boldsymbol{\mathbf{I}}\). In this work, we will mainly encounter generalized inverses when identifying projectors, e.g. of the form \[\label{eq:projector} \boldsymbol{\mathbf{P}} = \boldsymbol{\mathbf{U}}^{\boldsymbol{\mathbf{W}}^\dagger}\boldsymbol{\mathbf{U}}.\tag{2}\] Our analysis strongly relies on properties of projectors which we summarize in 11.1.
Consider a robotic system with dynamics modeled by \[\label{eq:RD32rigid} \boldsymbol{\mathbf{M}}(\boldsymbol{\mathbf{q}})\ddot{\boldsymbol{\mathbf{q}}}+ \boldsymbol{\mathbf{h}}(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}) = \boldsymbol{\mathbf{\tau}} + \boldsymbol{\mathbf{\tau}}_{\mathrm{contact}}.\tag{3}\] The \(n\) generalized coordinates are stacked in \(\boldsymbol{\mathbf{q}}\in\mathbb{R}^n\). We denote the inertia matrix3 as \(\boldsymbol{\mathbf{M}}\in\mathbb{R}^{n\times n}\). Coriolis-, centrifugal, and gravitational torques are contained in \(\boldsymbol{\mathbf{h}} \in \mathbb{R}^n\). The generalized torques are contained in \(\boldsymbol{\mathbf{\tau}} \in \mathbb{R}^n\). For fully actuated systems, \(\boldsymbol{\mathbf{\tau}}\) contains the actuator torques, while in the underactuated case it can be written as \(\boldsymbol{\mathbf{\tau}} = \boldsymbol{\mathbf{B}}\boldsymbol{\mathbf{u}}\), with input matrix \(\boldsymbol{\mathbf{B}} \in \mathbb{R}^{n \times u}\) and control input \(\boldsymbol{\mathbf{u}} \in \mathbb{R}^{u}\), \(u < n\). The following analysis is independent of the degree of underactuation and we will not have to distinguish between the two cases. Finally, \(\boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} \in \mathbb{R}^n\) denotes generalized torques introduced due to interaction with the environment.
We consider a Cartesian task coordinate \(\boldsymbol{\mathbf{x}}\in\mathbb{R}^m\) with \(m \leq n\) obtained from the configuration via the forward kinematics \(\boldsymbol{\mathbf{x}}= \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}})\). Via the task Jacobian \({\boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{q}}) = \frac{\partial \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}})}{\partial \boldsymbol{\mathbf{q}}} \in {\mathbb{R}^{m\times n}}}\), the task velocities can be obtained as \(\dot{\boldsymbol{\mathbf{x}}}= \boldsymbol{\mathbf{J}}\dot{\boldsymbol{\mathbf{q}}}\). Differentiating this expression and substituting 3 , the task space dynamics model \[\label{eq:task32dynamics} \boldsymbol{\mathbf{M}}_x(\boldsymbol{\mathbf{q}}) \ddot{\boldsymbol{\mathbf{x}}}+ \boldsymbol{\mathbf{h}}_x(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}) = \textcolor{black}{\boldsymbol{\mathbf{M}}_x\boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{M}}^{-1}(\boldsymbol{\mathbf{\tau}} + \boldsymbol{\mathbf{\tau}}_{x,\mathrm{contact}})}\tag{4}\] is derived. Therein, \({\boldsymbol{\mathbf{M}}_x = (\boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{J}}^T)^{-1} \in \mathbb{R}^{m\times m}}\) denotes the task space inertia matrix, and the Coriolis, centrifugal and gravitational wrench is expressed as \({\boldsymbol{\mathbf{h}}_x(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}) = \boldsymbol{\mathbf{M}}_x\left(\boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{h}}\left(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}\right)-\dot{\boldsymbol{\mathbf{J}}}\dot{\boldsymbol{\mathbf{q}}}\right)} \in \mathbb{R}^m\).
In this work, we consider impacts in the task space of the robot. Thus, the task coordinate is assumed to be subject to a onedimensional inequality constraint \(\varphi(\boldsymbol{\mathbf{x}}) \geq \boldsymbol{\mathbf{0}}\) (cf. Fig. 2 for an illustrative example). Free motion corresponds to an inactive constraint, i.e. \(\varphi(\boldsymbol{\mathbf{x}}) > 0\), with \(\boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} = \boldsymbol{\mathbf{0}}\). For \(\varphi(\boldsymbol{\mathbf{x}}) = 0\), the robotic system is in contact with the environment. Wrenches \(\boldsymbol{\mathbf{F}}_{x,\mathrm{contact}} = \boldsymbol{\mathbf{A}}_x^T\lambda\) on the task coordinate result from the contact force \(\lambda > 0\). Therein, \(\boldsymbol{\mathbf{A}}_x(\boldsymbol{\mathbf{x}}) = \frac{\partial \varphi(\boldsymbol{\mathbf{x}})}{\partial \boldsymbol{\mathbf{x}}} \in \mathbb{R}^{1\times m}\) denotes the constraint Jacobian in task space.
In configuration space, the constraint can be expressed as \[\label{eq:constraint} \phi(\boldsymbol{\mathbf{q}}) \coloneq (\varphi \circ \boldsymbol{\mathbf{f}})(\boldsymbol{\mathbf{q}}) \;\geq 0.\tag{5}\] The constraint Jacobian \(\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}})\in\mathbb{R}^{1\times n}\) is given by \({\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}}) = \frac{\partial\phi(\boldsymbol{\mathbf{q}})}{\partial\boldsymbol{\mathbf{q}}}}\). Note that it holds \(\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}}) = \boldsymbol{\mathbf{A}}_x(\boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}}))\boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{q}})\). For an active constraint the generalized contact torque \({\boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} = \boldsymbol{\mathbf{A}}^T\lambda}\) is obtained.
In the following, we study impacts satisfying the following assumption:
Assumption 1. At the impact, the robotic system is in a configuration that is not singular in direction of the inequality constraint. Thus, it holds \(\boldsymbol{\mathbf{A}}_x\neq \boldsymbol{\mathbf{0}}\) and \(\boldsymbol{\mathbf{A}}\neq \boldsymbol{\mathbf{0}}\).
For a frictional contact, friction forces can be yielded tangential to the surface \(\varphi(\boldsymbol{\mathbf{x}}) = 0\). However, we will further use the following assumption for elastic contacts:
Assumption 2. The contact is frictionless.
At an impact, the robotic system transits from a free-motion to a contact phase at a non-vanishing contact velocity.
Assumption 3. The impact is instantaneous.
This is motivated by the fact that the contact dynamics are often significantly faster than the (link-side) robot dynamics. When they are either in or below the order of magnitude of the sampling time, effects of the impact cannot be mitigated by a controller during the impact. Instead, either precautions must be taken to achieve desired post-impact behavior or possibly undesired post-impact behavior needs to be corrected afterwards.
Assuming that the configuration is constant over an impact, it becomes immediately clear that the inequality constraint 5 can only remain satisfied if the system velocities become discontinuous at the moment of the impact. The contact force \(\lambda\) then becomes infinitely large. Integrating the robot dynamics 3 over the infinitesimal impact duration \(\Delta t \rightarrow 0\), one obtains the impact equation [17], [18] \[\label{eq:impact95eq32rigid} \boldsymbol{\mathbf{M}}(\boldsymbol{\mathbf{q}})(\dot{\boldsymbol{\mathbf{q}}}^+- \dot{\boldsymbol{\mathbf{q}}}^-) = \boldsymbol{\mathbf{A}}^T(\boldsymbol{\mathbf{q}})\Lambda\tag{6}\] relating system velocity jumps introduced by the impact to an impulsive force \(\Lambda = \lim_{\Delta t \rightarrow 0}\int_{0}^{\Delta t} \lambda dt\) with \(\Lambda \in \mathbb{R}\). Therein, \(\dot{\boldsymbol{\mathbf{q}}}^-\) denotes the pre-impact generalized velocity, whereas \(\dot{\boldsymbol{\mathbf{q}}}^+\) refers to the post-impact one. We will utilize the superscripts \(-\) and \(+\) to distinguish pre- and post-impact values of system velocities, respectively, throughout the paper.
Depending on the properties of the contact, the kinetic energy of the robotic system can either be dissipated or, at least partially, be preserved. Several contact models exist describing this relation. In robotics, Newton’s restitution law [16] has commonly been used [12], [17], [19], which often allows closed-form solutions.
Assumption 4 (Newton’s restitution law). For the post-impact contact velocity it holds \[\label{eq:el32assumption} \dot{\phi}^+= \boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}})\dot{\boldsymbol{\mathbf{q}}}^+= -e\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}})\dot{\boldsymbol{\mathbf{q}}}^-= -e \dot{\phi}^-,\qquad{(1)}\] with restitution factor \(e \in [0,1]\).
For a fully inelastic impact, i.e. \(e = 0\), post-impact velocities \(\dot{\phi}^+\) in constraint direction vanish. Conversely, the pre-impact value \(\dot{\phi}^-\) is reversed for a fully elastic impact, i.e. \(e = 1\). Note that, for the particular case of frictionless impacts, which we consider here, the squared restitution factor directly relates pre- to post-impact kinetic energy. In particular, for \(e = 1\), the kinetic energy of the robot is conserved over the impact.
Combining ?? and 6 , the impulsive force is obtained as \[\label{eq:Lambda} \Lambda = -(1+e)\left(\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T\right)^{-1}\boldsymbol{\mathbf{A}}\dot{\boldsymbol{\mathbf{q}}}^-.\tag{7}\] Finally, the map \[\tag{8} \begin{align} \dot{\boldsymbol{\mathbf{q}}}^+&= \left(\boldsymbol{\mathbf{I}} - \left(1+e\right)\underbrace{\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^{T}\left(\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^{T}\right)^{-1}\boldsymbol{\mathbf{A}}}_{\boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}\boldsymbol{\mathbf{A}}}\right) \dot{\boldsymbol{\mathbf{q}}}^-\\ \tag{9} &= \underbrace{\left(\boldsymbol{\mathbf{I}} - \left(1+e\right)\boldsymbol{\mathbf{P}}_q\right)}_{\coloneq\boldsymbol{\mathbf{Q}}(\boldsymbol{\mathbf{q}})} \dot{\boldsymbol{\mathbf{q}}}^- \end{align}\] between pre- and post-impact velocities follows from 6 and 7 without any further assumptions. Therein, we identify \(\boldsymbol{\mathbf{P}}_q = \boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}\boldsymbol{\mathbf{A}}\) to be a projector on \(\mathrm{range}({\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T})\) and denote the matrix mapping \(\dot{\boldsymbol{\mathbf{q}}}^-\) to \(\dot{\boldsymbol{\mathbf{q}}}^+\) as \({\boldsymbol{\mathbf{Q}}(\boldsymbol{\mathbf{q}})\in\mathbb{R}^{n\times n}}\).
The impact map 8 has been applied in the literature to a broad range of robotic systems. Commonly, a fully inelastic case, i.e. \(e=0\), is assumed [1], [13], [22].
Common torque-controlled robots can be considered as flexible joint robots with comparably stiff joints. In [1], [8] it has been shown that the map 8 can still predict post-impact behavior of this class of robotic systems for the considered case of \(e = 0\). In [8] it was further shown that the predictions can be improved, if the apparent motor inertia rendered by the inner torque control loop is added upon the link-side inertia matrix.
Kinematically-controlled robots: The map 8 treats the robot as a jointed multibody system at the instant of the impact. While the previously mentioned works show that it is accurate in experiments with backdrivable robotic systems, the works [4], [9] suggest that the model is less suitable to predict post-impact motions of kinematically-controlled systems.
Fixed and floating base systems: It is important to note that the model derives for an arbitrary set of generalized coordinates without any assumptions on a fixed or floating base. Also, the degree of underactuation does not affect the derivation. Thus, the model can be directly applied to robotic systems with either type of base.
In this section, we perform a detailed analysis of how the system velocities are affected by the impact modeled by 8 and introduce the nonsmooth impact direction (NSID). The analysis is performed in configuration space in Sec. 4.1 and in task space in Sec. 4.2.
Consider the matrix \(\boldsymbol{\mathbf{Q}}\) from 8 . It is evident that for \(e = 0\) it becomes a projector on \(\ker(\boldsymbol{\mathbf{A}})\). In the following, we analyze the eigenspaces for the general case of \(e \in [0,1]\) dividing the admissible configuration space in an impact invariant space [13] and a nonsmooth impact direction (NSID), which generalizes the non-slippage impact direction introduced in [22].
Theorem 1 (impact invariant generalized velocities). For a pre-impact velocity \(\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\) with an arbitrary \({\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\in \ker(\boldsymbol{\mathbf{A}})}\), the post-impact velocity is obtained as \(\dot{\boldsymbol{\mathbf{q}}}^+= \dot{\boldsymbol{\mathbf{q}}}^-\).
Proof. The velocity \(\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\) is in the null space of \(\boldsymbol{\mathbf{P}}_{q}\). Thus, it holds \(\dot{\boldsymbol{\mathbf{q}}}^+= (\boldsymbol{\mathbf{I}} - (1+e)\boldsymbol{\mathbf{P}}_{q})\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}^-\). ◻
Theorem 1 can be reformulated as follows:
The matrix \(\boldsymbol{\mathbf{Q}}\) has the \((n-1)\)-fold eigenvalue of \(1\) where the corresponding eigenspace is \(\ker(\boldsymbol{\mathbf{A}})\).
All \({\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\in \ker(\boldsymbol{\mathbf{A}})}\) are impact invariant forming the impact invariant subspace.
Following [13], we refer to velocities that are not affected by the impact as impact invariant. Since the invariant velocities \(\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\) do not involve a velocity in constraint direction (i.e. \({\dot{\phi} = \boldsymbol{\mathbf{A}}\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}= 0}\)) an additional contribution in constraint direction is required for an impact.
Theorem 2 (NSID in configuration space). For a pre-impact velocity \(\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}_\ast(\nu,\boldsymbol{\mathbf{q}})\), in the form \[\label{eq:dqimp} \dot{\boldsymbol{\mathbf{q}}}_\ast(\nu,\boldsymbol{\mathbf{q}}) := \nu\boldsymbol{\mathbf{M}}^{-1}(\boldsymbol{\mathbf{q}})\boldsymbol{\mathbf{A}}^T(\boldsymbol{\mathbf{q}}),\qquad{(2)}\] with an arbitrary scalar \(\nu < 0\), it holds \(\dot{\boldsymbol{\mathbf{q}}}^+= - e \dot{\boldsymbol{\mathbf{q}}}^-\).
Proof. The velocity \(\dot{\boldsymbol{\mathbf{q}}}_\ast(\nu,\boldsymbol{\mathbf{q}})\) is in the range of \(\boldsymbol{\mathbf{P}}_{q}(\boldsymbol{\mathbf{q}})\) for an arbitrary \(\nu\in\mathbb{R}\). Thus, for \(\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}_\ast\) it holds \({\boldsymbol{\mathbf{P}}_{q}\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}^-}\) and 8 evaluates as \({\dot{\boldsymbol{\mathbf{q}}}^+= - e \dot{\boldsymbol{\mathbf{q}}}^-}\). The restriction of the scalar \(\nu\) to \(\nu < 0\) ensures an approach of the inequality constraint from the admissible side, as it then holds \({\dot{\phi}^-(\boldsymbol{\mathbf{q}}) = \nu\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T < 0 }\). ◻
Theorem 2 directly implies that \(\boldsymbol{\mathbf{Q}}\) has the onefold eigenvalue of \(-e\), where the corresponding eigenspace is spanned by \(\dot{\boldsymbol{\mathbf{q}}}_\ast\). Velocities from this onedimensional space are nonsmooth at the impact. It is important to note that only one direction of the subspace spanned by \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) is admissible, which is reflected in the condition \(\nu < 0\). Thus, we will refer to \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) as the nonsmooth impact direction (NSID) in the following.
Based on the results from the previous subsections, we summarize the \(n\) eigenvalues and corresponding eigenspaces of \(\boldsymbol{\mathbf{Q}}\) in ¿tbl:tab:eig32Maps? (A).
(A) configuration space
| eigenvalue | dimension of eigenspace | eigenspace |
|---|---|---|
| \(-e\) | \(1\) | \(\range(\inv{\M}\A^T)\) |
| \(1\) | \(n-1\) | \(\ker(\A)\) |
(B) task space
| eigenvalue | dimension of eigenspace | eigenspace |
|---|---|---|
| \(-e\) | \(1\) | \(\range(\inv{\M_x}\Ax^T)\) |
| \(1\) | \(m-1\) | \(\ker(\Ax)\) |
Given these, we can decompose any admissible pre-impact velocity \(\dot{\boldsymbol{\mathbf{q}}}^-\) as \[\label{eq:dqminus32zerlegt} \dot{\boldsymbol{\mathbf{q}}}^-= \underbrace{\boldsymbol{\mathbf{P}}_{q}\dot{\boldsymbol{\mathbf{q}}}^-}_{\dot{\boldsymbol{\mathbf{q}}}_\ast} + \underbrace{(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{q})\dot{\boldsymbol{\mathbf{q}}}^-}_{\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}},\tag{10}\] where the first contribution \(\dot{\boldsymbol{\mathbf{q}}}_\ast(\nu,\boldsymbol{\mathbf{q}})\) aligns with the NSID. The specific scaling \(\nu<0\) is uniquely defined by \(\dot{\boldsymbol{\mathbf{q}}}^-\). The second contribution \(\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}\) is impact invariant. An impact under 10 yields the impulsive force from 7 as \({\Lambda = -(1+e)\nu}\). For the post-impact velocities it holds \[\label{eq:dqplus} \dot{\boldsymbol{\mathbf{q}}}^+= -e\dot{\boldsymbol{\mathbf{q}}}_\ast+\dot{\boldsymbol{\mathbf{q}}}_\mathrm{iv}.\tag{11}\]
The presented analysis straightforwardly allows to invert the impact model 8 .
Corollary 1. Given a feasible, desired post-impact velocity \(\dot{\boldsymbol{\mathbf{q}}}^+\) in generalized velocity space and a configuration \(\boldsymbol{\mathbf{q}}\), the pre-impact velocities realizing the desired post-impact behavior can be computed as \[\label{eq:32inverse32model32dq} \dot{\boldsymbol{\mathbf{q}}}^-= \begin{cases} \left(\boldsymbol{\mathbf{I}} - \left(1+\frac{1}{e}\right)\boldsymbol{\mathbf{P}}_{q}\right)\dot{\boldsymbol{\mathbf{q}}}^+& \text{for } 0 < e \leq 1\\ \dot{\boldsymbol{\mathbf{q}}}^++ \nu\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T & \text{otherwise}, \end{cases}\qquad{(3)}\] with arbitrary \(\nu < 0\).
Proof. First consider \(0 < e \leq 1\). Plugging ?? in 8 and utilizing idempotence of the projector \(\boldsymbol{\mathbf{P}}_q\), we obtain \({\dot{\boldsymbol{\mathbf{q}}}^+= \boldsymbol{\mathbf{I}} \dot{\boldsymbol{\mathbf{q}}}^+}\). Moreover, plugging 8 in ?? , yields \({\dot{\boldsymbol{\mathbf{q}}}^-= \boldsymbol{\mathbf{I}} \dot{\boldsymbol{\mathbf{q}}}^-}\). The same can be shown for \(e = 0\) considering that feasible post-impact velocities satisfy \(\dot{\boldsymbol{\mathbf{q}}}^+= (\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{q})\dot{\boldsymbol{\mathbf{q}}}^+\). ◻
Note that, for \(e = 0\), feasible \(\dot{\boldsymbol{\mathbf{q}}}^+\) can thus be rendered by infinitely many \(\dot{\boldsymbol{\mathbf{q}}}^-\), each of them aligning the NSID.
We summarize the results of this analysis in the configuration space in Fig. 3.
Theorem 3 (task space impact map). The unique relation \[\begin{align} \label{eq:task32impact32model} \dot{\boldsymbol{\mathbf{x}}}^+= \underbrace{\left(\boldsymbol{\mathbf{I}} - (1+e)\boldsymbol{\mathbf{P}}_{x}\right)}_{\coloneq\boldsymbol{\mathbf{X}}(\boldsymbol{\mathbf{q}})}\dot{\boldsymbol{\mathbf{x}}}^- \end{align}\qquad{(4)}\] holds between the post-impact task velocities and the pre-impact ones, with the projector \[\begin{align} \label{eq:Px} \boldsymbol{\mathbf{P}}_{x}&= \boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}_x^\dagger}_x\boldsymbol{\mathbf{A}}_x \end{align}\qquad{(5)}\] and the mapping \(\boldsymbol{\mathbf{X}}(\boldsymbol{\mathbf{q}}) \in \mathbb{R}^{m\times m}\).
Proof. The map ?? can be straightforwardly derived by premultiplying 8 with the task Jacobian and substituting \(\boldsymbol{\mathbf{A}}= \boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{J}}\). ◻
Moreover, the impulsive force \(\Lambda\) from 7 can be uniquely obtained from the task velocities \(\dot{\boldsymbol{\mathbf{x}}}^-\) as \[\label{eq:Lambda32task} \Lambda = -(1+e)\left(\boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{M}}_x^{-1}\boldsymbol{\mathbf{A}}_x^T\right)^{-1}\boldsymbol{\mathbf{A}}_x\dot{\boldsymbol{\mathbf{x}}}^-.\tag{12}\] 3 provides a direct mapping between \(\dot{\boldsymbol{\mathbf{x}}}^-\) and \(\dot{\boldsymbol{\mathbf{x}}}^+\), which is valid also for redundant robots, does not require knowledge about null space velocities, and derives from 8 without any further assumptions. This is due to the fact that the constraint acts on the task coordinate. Indeed, we can show the following.
Lemma 1 (impact invariance of null space velocities). Any \(\dot{\boldsymbol{\mathbf{q}}}\) in the null space of the task, i.e. a \(\dot{\boldsymbol{\mathbf{q}}}^-\neq \boldsymbol{\mathbf{0}}\) fulfilling \({\boldsymbol{\mathbf{J}}\dot{\boldsymbol{\mathbf{q}}}= \boldsymbol{\mathbf{0}}}\), is impact invariant.
Proof. We consider a constraint on the task coordinate \(\boldsymbol{\mathbf{x}}\), which implies that \(\ker(\boldsymbol{\mathbf{J}}) \subseteq \ker(\boldsymbol{\mathbf{A}})\). \(\ker(\boldsymbol{\mathbf{A}})\) is equivalent to the eigenspace of \(\boldsymbol{\mathbf{Q}}\), corresponding to the eigenvalue of \(1\). Thus, a \(\dot{\boldsymbol{\mathbf{q}}}_n \in \ker(\boldsymbol{\mathbf{J}})\) is mapped to itself by \(\boldsymbol{\mathbf{Q}}\), i.e. it is impact invariant. ◻
Given the map ?? , we can separate admissible task velocities in impact invariant task velocities and a task space NSID, equivalently as in the configuration space.
Theorem 4 (impact invariant task velocities). Any pre-impact task velocity \(\dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}\) with \({\dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}\in \ker(\boldsymbol{\mathbf{A}}_x)}\) is impact-invariant, i.e. it holds \({\dot{\boldsymbol{\mathbf{x}}}^+= \dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}}\).
Theorem 5 (NSID in task space). For an approach velocity \(\dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\ast\) in task space, with \[\label{eq:32dximp} \dot{\boldsymbol{\mathbf{x}}}_\ast(\nu,\boldsymbol{\mathbf{q}}) \coloneq \nu \boldsymbol{\mathbf{M}}_x^{-1}(\boldsymbol{\mathbf{q}})\boldsymbol{\mathbf{A}}_x^T(\boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}})) = \nu \boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T\qquad{(6)}\] and an arbitrary scalar \(\nu < 0\), it holds \(\dot{\boldsymbol{\mathbf{x}}}^+= -e\dot{\boldsymbol{\mathbf{x}}}^-\).
We refer to the task velocity direction represented by ?? as the NSID in task space.
The proofs of 4 and 5 are performed analogously as for the configuration space. From these theorems the eigenspaces of \(\boldsymbol{\mathbf{X}}\) summarized in ¿tbl:tab:eig32Maps? (B) can be directly deduced. We can now express any admissible pre-impact velocity as the following linear combination: \[\label{eq:dxminus32decomposed} \dot{\boldsymbol{\mathbf{x}}}^-= \underbrace{\boldsymbol{\mathbf{P}}_{x}\dot{\boldsymbol{\mathbf{x}}}^-}_{\dot{\boldsymbol{\mathbf{x}}}_\ast} + \underbrace{(\boldsymbol{\mathbf{I}}-\boldsymbol{\mathbf{P}}_{x})\dot{\boldsymbol{\mathbf{x}}}^-}_{\dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}},\tag{13}\] with an NSID contribution \(\dot{\boldsymbol{\mathbf{x}}}_\ast= \boldsymbol{\mathbf{P}}_{x}\dot{\boldsymbol{\mathbf{x}}}^-\) and an impact-invariant contribution \(\dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}= (\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{x})\dot{\boldsymbol{\mathbf{x}}}^-\). For the post-impact velocity obtained for an impact under \(\dot{\boldsymbol{\mathbf{x}}}^-\) from 13 it then holds \[\label{eq:dxplus} \dot{\boldsymbol{\mathbf{x}}}^+= -e\dot{\boldsymbol{\mathbf{x}}}_\ast+ \dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}.\tag{14}\]
It is straightforward that, also for the task space, an inverse impact model can be formulated.
Corollary 2. Given a feasible, desired post-impact velocity \(\dot{\boldsymbol{\mathbf{x}}}^+\) in task space and a configuration \(\boldsymbol{\mathbf{q}}\), the pre-impact velocities realizing the desired post-impact behavior can be computed as \[\label{eq:32inverse32model32dx} \dot{\boldsymbol{\mathbf{x}}}^-= \begin{cases} \left(\boldsymbol{\mathbf{I}} - \left(1+\frac{1}{e}\right)\boldsymbol{\mathbf{P}}_{x}\right)\dot{\boldsymbol{\mathbf{x}}}^+& \text{for } 0 < e \leq 1 \\ \dot{\boldsymbol{\mathbf{x}}}^++ \nu\boldsymbol{\mathbf{M}}^{-1}_x\boldsymbol{\mathbf{A}}_x^T & \text{otherwise}, \end{cases}\qquad{(7)}\] with arbitrary \(\nu < 0\).
We summarize the results of this subsection in Fig. 4.
Remark: It is important to note that the task space NSID can contain both translational and angular components. In the schematic visualizations of this work, we will often depict the translational component only, as it can be illustrated nicely. Also, note that, even though Fig. 4 as well as the following figures, serve as conceptual illustrations, they always depict the actual translational NSID computed for the shown robotic system in the respective configuration.
The presented results already suggest the NSID as a characteristic direction describing a robotic impact scenario. The remainder of this work focuses on this particular direction. In this section, we discuss different interpretations.
According to Theorems 2 and 5, the NSID is the unique, admissible approach direction of a configuration on the constraint surface, under which pre- and post-impact velocities align in the respective space. The scaling of the post-impact value with respect to the pre-impact one is provided by the negative restitution factor \(-e\) and thus the contact elasticity.
For a non-redundant robotic system, it is evident that a reversal of the direction of the generalized velocity upon an impact implies the one of the task velocity and vice versa. For a redundant robotic system, only the first implication is fulfilled, in general. An approach under \(\dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\ast\) can then be rendered by infinitely many \(\dot{\boldsymbol{\mathbf{q}}}^-\), which can all be obtained as \[\begin{align} \label{eq:all32dqminus} \dot{\boldsymbol{\mathbf{q}}}^-&= \boldsymbol{\mathbf{J}}^{\boldsymbol{\mathbf{M}}^\dagger}\dot{\boldsymbol{\mathbf{x}}}_\ast+ \boldsymbol{\mathbf{Z}}^T\boldsymbol{\mathbf{v}}^- = \dot{\boldsymbol{\mathbf{q}}}_\ast+ \boldsymbol{\mathbf{Z}}^T\boldsymbol{\mathbf{v}}^-. \end{align}\tag{15}\] Therein \(\boldsymbol{\mathbf{Z}} \in \mathbb{R}^{(m-n)\times n}\) denotes an arbitrary null space base such that it holds \(\boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{Z}}^T= \boldsymbol{\mathbf{0}}\). The vector \(\boldsymbol{\mathbf{v}}^- \in \mathbb{R}^{n-m}\) represents an arbitrary pre-impact null space velocity. We utilized the particular choice of the weighting matrix \(\boldsymbol{\mathbf{W}} = \boldsymbol{\mathbf{M}}\), to express \(\dot{\boldsymbol{\mathbf{q}}}^-\) as a linear combination of the NSID in the configuration space and a null space contribution. Note that the scale \(\nu\) in \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) is given by \(\dot{\boldsymbol{\mathbf{x}}}^-\). For \(\dot{\boldsymbol{\mathbf{q}}}^+\) it then straightforwardly holds \(\dot{\boldsymbol{\mathbf{q}}}^+= -e\dot{\boldsymbol{\mathbf{q}}}_\ast+ \boldsymbol{\mathbf{Z}}^T\boldsymbol{\mathbf{v}}^-\), i.e. the contributions in the null space of the task as well as the ones4 included in \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) are preserved over the impact.
With respect to the impact elasticity, the two corner cases \(e = 1\) and \(e = 0\) are particularly interesting. A fully elastic impact, i.e. \(e = 1\), under the NSID reverses the approach velocities, as displayed in Fig. 5. We dedicate the full Sec. 6 to the case of \(e = 0\).
Consider 6 mapping an impulsive force \(\Lambda\) in constraint direction to the impact induced jump \({\Delta\dot{\boldsymbol{\mathbf{q}}}= \dot{\boldsymbol{\mathbf{q}}}^+- \dot{\boldsymbol{\mathbf{q}}}^-}\) in generalized velocities. It is well known [18] that it holds \[\label{eq:jump} \Delta\dot{\boldsymbol{\mathbf{q}}}= \boldsymbol{\mathbf{M}}^{-1}(\boldsymbol{\mathbf{q}})\boldsymbol{\mathbf{A}}^T(\boldsymbol{\mathbf{q}})\Lambda,\tag{16}\] with \(\Lambda > 0\). Thus, the following can be concluded.
Corollary 3. The direction of the velocity jump \(\Delta\dot{\boldsymbol{\mathbf{q}}}\) in configuration space and \(\Delta\dot{\boldsymbol{\mathbf{x}}}= \boldsymbol{\mathbf{J}}\Delta\dot{\boldsymbol{\mathbf{q}}}\) in task space aligns with the negative NSID in the respective space.
Note that 16 is derived solely from integrating the robot dynamics 3 over the infinitesimal impact. The interpretation of the NSID as the direction of the velocity jump thus only depends on 3 of an instantaneous impact. No contact model like the restitution model of 4 is needed. Moreover, we can also partly obtain the first interpretation of the NSID as the unique direction aligning pre- and post-impact velocity directions without utilizing a contact model: reformulating 16 , we obtain \[\begin{align} \label{eq:dqplus32from32jump} \dot{\boldsymbol{\mathbf{q}}}^+&= \Delta\dot{\boldsymbol{\mathbf{q}}}+ \dot{\boldsymbol{\mathbf{q}}}^-= \boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T\Lambda + \dot{\boldsymbol{\mathbf{q}}}^-. \end{align}\tag{17}\] With that, it can be concluded without relying on 4 that only for a \(\dot{\boldsymbol{\mathbf{q}}}^-\) aligning \(\Delta\dot{\boldsymbol{\mathbf{q}}}\) and thus the NSID, a \(\dot{\boldsymbol{\mathbf{q}}}^+\) aligning \(\dot{\boldsymbol{\mathbf{q}}}^-\) is obtained. Only the scaling of \(\dot{\boldsymbol{\mathbf{q}}}^+\) w.r.t. \(\dot{\boldsymbol{\mathbf{q}}}^-\) after an impact under the NSID depends on the impulsive force and thus the contact. This emphasizes that the NSID, as the unique nonsmooth direction, is a characteristic direction of a robotic impact scenario, determined by the robot’s kinematic and inertial properties, the constraint, and the robot configuration, but not the impact elasticity.
Theorem 6 (perpendicular NSID). The task space NSID aligns with the Euclidean normal of the constraint surface, whenever an eigenvector of the task space inertia matrix aligns with the task space constraint Jacobian and thus the surface normal as well.
Proof. First, note that the task space constraint Jacobian \(\boldsymbol{\mathbf{A}}_x^T\) is perpendicular to the constraint by definition. Premultiplying 16 with the task Jacobian \(\boldsymbol{\mathbf{J}}\), we obtain \(\Delta\dot{\boldsymbol{\mathbf{x}}}= \boldsymbol{\mathbf{M}}_x^{-1}\boldsymbol{\mathbf{A}}_x^T\Lambda\). Consider the special case of an impact, for which the impulsive wrench \({\boldsymbol{\mathbf{F}} = \boldsymbol{\mathbf{A}}_x^T\Lambda \in \mathbb{R}^m}\) and thus \(\boldsymbol{\mathbf{A}}_x^T\) aligns with the \(i\)-th eigenvector of the task space inertia matrix \(\boldsymbol{\mathbf{M}}_x\) corresponding to the eigenvalue \(\alpha_i\). Then, it holds:
\(\Delta\dot{\boldsymbol{\mathbf{x}}}\) aligns \(\boldsymbol{\mathbf{A}}_x^T\),
the NSID ?? takes the form \(\dot{\boldsymbol{\mathbf{x}}}_\ast= \nu \alpha_i^{-1}\boldsymbol{\mathbf{A}}_x^T\), i.e. it also aligns \(\boldsymbol{\mathbf{A}}_x^T\), and
the projector \(\boldsymbol{\mathbf{P}}_{x}\) becomes the orthogonal projector \({\boldsymbol{\mathbf{P}}_{x}= \boldsymbol{\mathbf{A}}_x^T\left(\boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{A}}_x^T\right)^{-1}\boldsymbol{\mathbf{A}}_x}\).
For an impact under the NSID further
◻
Consequently, an NSID approach perpendicular to the surface always comes either with a maximization or minimization of the transmitted impulsive force for the particular configuration and absolute value of the approach velocity. The relation can nicely be visualized with an inertia ellipsoid5 defined as \(\left\{\boldsymbol{\mathbf{F}}\in\mathbb{R}^m : \boldsymbol{\mathbf{F}}^T\boldsymbol{\mathbf{M}}_x^{-1}\boldsymbol{\mathbf{F}}\leq 1 \right\}\). The NSID is perpendicular on the constraint surface iff a principal axis of the ellipsoid is perpendicular to the surface as well.
Notably, these results match an initial assumption in [12]. There, it was assumed that the robot’s reflected inertia in impact direction is sufficiently high, such that the pre-impact momentum in other directions do not induce a significant deviation of the post-impact motion from the impact direction. We can reformulate that as follows: the impact is assumed to be performed under a configuration with almost perpendicular NSID.
Figure 6 compares pre- with post-impact task velocities for two configurations of the Franka Research 3 robot impacting the horizontal ground with the end-effector. To be able to nicely depict the relations, we treat planar, translational task space motions, without loss of generality. We consider multiple pre-impact task velocities, depicted as arrows in the figure. They feature the same magnitude but different impact angles. The resulting post-impact task velocities are evaluated exemplary for \(e = 0.3\). They are scaled and rotated with respect to the pre-impact velocities, as expected. The only exception is the NSID approach under which pre- and post-impact velocities align.
In configuration 1, the surface normal does not align with a principal axis of the inertia ellipsoid. Therefore, the NSID is not perpendicular on the constraint surface. Conversely, configuration 2 has been chosen such that the NSID is perpendicular to the surface (cf. config. \(\perp\) from [22] and its computation there). In that case, also a principal axis of the ellipsoid aligns with the NSID, which matches with the presented theoretic results.
As opposed to a robotic system, the translational inertia ellipsoid of one single rigid body is always spherical. Indeed, one can show that the translational NSID of single rigid bodies is always perpendicular to the surface, which matches the intuition. The existence of a rotational component depends on the location of the center of mass (CoM) with respect to the contact point.
Several works on impact-aware robotics assume fully inelastic impacts. This implies that the robot remains in contact with the surface after the impact and does not bounce. It holds \(e = 0\) and thus ?? reduces to \(\dot{\phi}^+ = 0\). However, sliding motions along the contact surface are feasible. Given the previous results, it is straightforward to recover the main result from [22]:
Corollary 4. The NSID in the (configuration / task) space is the unique approach direction of a configuration \(\boldsymbol{\mathbf{q}}\), under which post-impact velocities in the respective space vanish for the case of a fully inelastic, frictionless impact.
Thus, it holds
\(\dot{\boldsymbol{\mathbf{q}}}^+= \boldsymbol{\mathbf{0}}\) iff \(\dot{\boldsymbol{\mathbf{q}}}^-= \dot{\boldsymbol{\mathbf{q}}}_\ast\), with arbitrary \(\nu < 0\), and
\(\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\) iff \(\dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\ast\), with arbitrary \(\nu < 0\).
Indeed, for an approach under the task space NSID the targeted non-slippage impact problem introduced and addressed in [22] is solved. There, the goal was to obtain an impact at a target \(\boldsymbol{\mathbf{x}}\) such that it holds \(\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\). All solutions for a given \(\boldsymbol{\mathbf{q}}\) solving \(\boldsymbol{\mathbf{x}}= \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}})\) have been shown to align with a unique task space approach direction, which corresponds to the NSID in task space. For \(e = 0\), we can thus interpret the NSID as the "non-slippage impact direction"[22] corresponding to \(\boldsymbol{\mathbf{q}}\) (cf. Fig. 7).
Intuitively, post-impact slippage along a constraint surface with \(e = 0\) strongly depends on frictional properties of the contact pairing. However, all previous results, and thus also the NSID, have been derived under 2 of a frictionless impact. Thus it is unclear, if the interpretation of the NSID as a "non-slippage impact direction" is also valid for contacts with significant friction. The derivation in [22] assumes a frictionless impact, as well. There it was argued intuitively and without proof that if the NSID solves the targeted non-slippage impact problem for the worst-case scenario of a frictionless contact, slippage will also be prevented in the less critical, frictional case. In the following, we provide a theoretical analysis proving this statement. The result yields a refined interpretation of the NSID for fully inelastic contacts with arbitrary frictional properties, which we will formulate in 7.
For the remainder of this section, we assume \(e = 0\). Further, we discard 2 and consider contact friction acting on the constraint surface in \(l\) tangential directions.6 We assume that all \(l\) directions are contained in the task space. The generalized contact force is then defined as \[\label{eq:32A32fric} \boldsymbol{\mathbf{F}}_{\mathrm{contact}} = \begin{bmatrix} \boldsymbol{\mathbf{A}}_x\\ \boldsymbol{\mathbf{A}}_{x,t} \end{bmatrix}^T \begin{bmatrix} \lambda \\ \boldsymbol{\mathbf{\lambda}}_t \end{bmatrix} = \bar{\boldsymbol{\mathbf{A}}}_{x}^T \boldsymbol{\mathbf{\bar{\boldsymbol{\mathbf{\lambda}}}}}.\tag{18}\] It consists of the contact force \(\lambda\) normal to the constraint surface and the tangential friction forces \(\boldsymbol{\mathbf{\lambda}}_t\in\mathbb{R}^l\) yielding a force vector \(\bar{\boldsymbol{\mathbf{\lambda}}}\in \mathbb{R}^{1+l}\). The Jacobian \({\bar{\boldsymbol{\mathbf{A}}}_{x}\in\mathbb{R}^{(1+l)\times m}}\) stacks the task space constraint Jacobian \(\boldsymbol{\mathbf{A}}_x\) and the task space friction Jacobian \(\boldsymbol{\mathbf{A}}_{x,t}\in\mathbb{R}^{l\times m}\), where \(\boldsymbol{\mathbf{A}}_{x,t}\) maps joint velocities to the end-effector velocity components tangential to the contact surface. For the generalized contact torque, it holds \(\boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} = \boldsymbol{\mathbf{J}}^T\bar{\boldsymbol{\mathbf{A}}}_{x}^T\bar{\boldsymbol{\mathbf{\lambda}}}= \bar{\boldsymbol{\mathbf{A}}}^T\bar{\boldsymbol{\mathbf{\lambda}}},\) with \(\bar{\boldsymbol{\mathbf{A}}}\in \mathbb{R}^{(1+l)\times n}.\)
Under an impact of the frictional constraint surface, an impulsive force \(\bar{\boldsymbol{\mathbf{\Lambda}}} \in \mathbb{R}^{l+1}\) defined as \({\bar{\boldsymbol{\mathbf{\Lambda}}} = \begin{bmatrix} \Lambda & \boldsymbol{\mathbf{\Lambda}}_t \end{bmatrix}^T = \int_{0}^{\Delta t} \boldsymbol{\mathbf{\bar{\boldsymbol{\mathbf{\lambda}}}}}dt}\) with \({\Delta t \rightarrow 0}\) is obtained. It contains a component \(\boldsymbol{\mathbf{\Lambda}}_t\in \mathbb{R}^l\) tangential to the constraint surface on top of the previously discussed component \(\Lambda\) normal to the constraint surface.
We utilize Coulomb’s friction model to model dry friction acting on the surface7 and pose the following assumption:
Assumption 5. The Coulomb friction cone defined for contact forces also applies on impulsive forces for the considered fully inelastic case. In particular, it holds \[\label{eq:impulsive32cone} \vert\vert \boldsymbol{\mathbf{\Lambda}}_t\vert\vert \leq \mu_s \Lambda\qquad{(8)}\] for a sticking contact \(\boldsymbol{\mathbf{A}}_{x,t}\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\) (cf., e.g., [33], [34]). Therein, \(\mu_s \geq 0\) denotes the static friction coefficient.
This corresponds to a representation of the friction cone averaged over the infinitesimal duration of the impact.
If ?? is fulfilled, it holds \(\bar{\boldsymbol{\mathbf{A}}}\dot{\boldsymbol{\mathbf{q}}}^+= \boldsymbol{\mathbf{0}}\) and the robot can be considered as transferring from a free motion phase to a phase where an \((1+l)\)-dimensional constraint is active. Given the derivations from Sec. 3 and 4 it can then straightforwardly be shown that it holds \[\label{key} \dot{\boldsymbol{\mathbf{q}}}^+= \left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{\bar{A}}}^{M^\dagger}\bar{\boldsymbol{\mathbf{A}}}\right)\dot{\boldsymbol{\mathbf{q}}}^-\tag{19}\] and \[\label{eq:task32model32stiction} \dot{\boldsymbol{\mathbf{x}}}^+= \left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{\bar{A}}}^{M_x^\dagger}_{x}\bar{\boldsymbol{\mathbf{A}}}_{x}\right)\dot{\boldsymbol{\mathbf{x}}}^-\tag{20}\] for the relationships between pre- and post-impact velocities in configuration space and task space, respectively. For \(\bar{\boldsymbol{\mathbf{\Lambda}}}\), then \[\begin{align} \tag{21} \bar{\boldsymbol{\mathbf{\Lambda}}} &= -\left(\bar{\boldsymbol{\mathbf{A}}}\boldsymbol{\mathbf{M}}^{-1}\bar{\boldsymbol{\mathbf{A}}}^T\right)^{-1}\bar{\boldsymbol{\mathbf{A}}}\dot{\boldsymbol{\mathbf{q}}}^-\\ \tag{22} &= -\left(\bar{\boldsymbol{\mathbf{A}}}_{x}\boldsymbol{\mathbf{M}}_x^{-1}\bar{\boldsymbol{\mathbf{A}}}_{x}^T\right)^{-1}\bar{\boldsymbol{\mathbf{A}}}_{x}\dot{\boldsymbol{\mathbf{x}}}^- \end{align}\] holds.
Theorem 7 (NSID for fully inelastic, frictional contacts). Consider a robotic system 3 performing an instantaneous, fully inelastic, frictional impact for which 5 is fulfilled. Among all the approach directions in task space yielding a non-slippage impact, the NSID is the unique direction that corresponds to an impulsive force perpendicular to the surface.
Proof. Assume a non-slippage impact shall be obtained at configuration \(\boldsymbol{\mathbf{q}}\) for a frictional contact. As we assumed the tangential directions of the constraint surface to be contained in the task space, we thus search for \(\dot{\boldsymbol{\mathbf{x}}}^-\) which
result in an impulsive force satisfying ?? and
are mapped to \(\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\) by 20 .
Given 20 , in general, only pre-impact velocities of the form \[\label{eq:dxminus32nonslip32fric} \dot{\boldsymbol{\mathbf{x}}}^-= \boldsymbol{\mathbf{M}}_x^{-1}\bar{\boldsymbol{\mathbf{A}}}_{x}^T\begin{bmatrix} \nu \\\boldsymbol{\mathbf{ p}} \end{bmatrix}\tag{23}\] qualify as candidates rendering a targeted non-slippage impact, with weighting vector \(\boldsymbol{\mathbf{p}}\in\mathbb{R}^l\). These result in \(\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\), if the cone ?? is fulfilled, as well. Consider an approach under 23 , with a given, bounded \(\boldsymbol{\mathbf{p}}\). We aim to determine the minimal static friction coefficient \(\mu_s\) required, such that \(\boldsymbol{\mathbf{\Lambda}}\) fulfills the cone ?? and the end-effector remains in contact with the surface without translational slippage. In this limiting case, \(\boldsymbol{\mathbf{\Lambda }}\) can be determined from 22 and lies exactly on the boundary of the cone ?? . Plugging 23 in 22 , we obtain \[\begin{align} \label{qtaiycgh} \boldsymbol{\mathbf{\Lambda }}= \begin{bmatrix} \Lambda \\ \boldsymbol{\mathbf{\Lambda}}_t \end{bmatrix} = \begin{bmatrix} -\nu \\ \boldsymbol{\mathbf{p}} \end{bmatrix}. \end{align}\tag{24}\] This yields \(\mu_s = -\vert\vert\boldsymbol{\mathbf{p}} \vert \vert / \nu\) as the minimum necessary static friction coefficient to obtain \(\dot{\boldsymbol{\mathbf{x}}}^+= \boldsymbol{\mathbf{0}}\).
An approach under the NSID, i.e. \(\boldsymbol{\mathbf{p}} = \boldsymbol{\mathbf{0}}\), thus results in an impulsive force perpendicular to the constraint surface. It always fulfills the cone ?? for arbitrary \(\mu_s\). Conversely, all other candidate \(\dot{\boldsymbol{\mathbf{x}}}^-\) come with a tangential component \({\boldsymbol{\mathbf{\Lambda}}_t= \boldsymbol{\mathbf{p}} \neq \boldsymbol{\mathbf{0}}}\) of the impulsive force. ◻
From the analysis in the proof we can further deduce the following.
Corollary 5. All \(\dot{\boldsymbol{\mathbf{x}}}^-\) solving the targeted non-slippage impact problem of a frictional contact surface with known stiction constant \(\mu_s \geq 0\) can be expressed as 23 with weighting vector \(\boldsymbol{\mathbf{p}}\) satisfying \(\vert\vert\boldsymbol{\mathbf{p}} \vert\vert \leq -\mu_s \nu\).
Thus, for a frictional surface, the solutions 23 of the targeted nonslippage impact problem form a cone of approach velocities containing the NSID for \(\boldsymbol{\mathbf{p}} = \boldsymbol{\mathbf{0}}\) (cf. Fig. 88). Each velocity therein corresponds to an impulsive force contained in the impulsive cone ?? .
Remarks: We interpreted the impact yielding post-impact stiction as an impact with \((1+l)\)-dimensional constraint. In that case, a \((1+l)\)-dimensional nonsmooth space exists, which is spanned by the NSID, as derived for the frictionless case, and \(\mathrm{range}(\boldsymbol{\mathbf{M}}_x^{-1}\boldsymbol{\mathbf{A}}_{x,t}^T)\) (cf. Fig. 8). However, the impulsive cone [22] needs to remain fulfilled thus restricting the viable contributions from \(\mathrm{range}(\boldsymbol{\mathbf{M}}_x^{-1}\boldsymbol{\mathbf{A}}_{x,t}^T)\) w.r.t. the NSID contribution. Further, note that all derivations can be performed analogously in configuration space, resulting in a cone of generalized velocities containing the NSID.
As discussed in Sec. 3, the impact model 8 has been validated for torque-controlled robots [1], [8], i.e., flexible-joint robots with relatively stiff joints. While all previous results apply directly to this class of robotic systems, robots with lower joint stiffness are not addressed. However, these robotic systems are expected to withstand relatively harsh impacts, as the elastic elements in the joints protect the motors and gearboxes from impulsive forces to some extent. Therefore, we will examine flexible-joint robots with arbitrary joint stiffness in detail.
Consider the complete model \[\begin{align} \label{eq:RD32full} \nonumber \begin{bmatrix} \boldsymbol{\mathbf{M}}_l(\boldsymbol{\mathbf{q}}_l) & \boldsymbol{\mathbf{M}}_{lm}(\boldsymbol{\mathbf{q}}_l) \\ \boldsymbol{\mathbf{M}}^T_{lm}(\boldsymbol{\mathbf{q}}_l) & \boldsymbol{\mathbf{M}}_m \end{bmatrix} \begin{bmatrix} \ddot{\boldsymbol{\mathbf{q}}}_l \\ \ddot{\boldsymbol{\mathbf{q}}}_m \end{bmatrix} + \textcolor{black}{\boldsymbol{\mathbf{h}}(\boldsymbol{\mathbf{q}}_l,\dot{\boldsymbol{\mathbf{q}}})} = \\ \left(\frac{\partial U(\boldsymbol{\mathbf{q}})}{\partial \boldsymbol{\mathbf{q}}}\right)^T + \begin{bmatrix} \boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} \\ \boldsymbol{\mathbf{\tau}}_m \end{bmatrix} \end{align}\tag{25}\] for the dynamics of a robotic system with flexible joints [35]. The generalized coordinate vector \(\boldsymbol{\mathbf{q}}\in{\mathbb{R}}^{(n+r)}\) stacks the coordinates \(\boldsymbol{\mathbf{q}}_l\in\mathbb{R}^n\) belonging to the link-side, and the motor positions \(\boldsymbol{\mathbf{q}}_m\in\mathbb{R}^r\) of the \(r \geq 1\) motors. The link-side dynamics with link-side inertia matrix \(\boldsymbol{\mathbf{M}}_l\in\mathbb{R}^{n\times n}\) is coupled to the motor-side dynamics via generalized elastic torques \(\left(\frac{\partial U(\boldsymbol{\mathbf{q}})}{\partial \boldsymbol{\mathbf{q}}}\right)^T\) with elastic potential function \(U(\boldsymbol{\mathbf{q}})\), and via inertial couplings, where we denote the inertial coupling matrix as \(\boldsymbol{\mathbf{M}}_{lm}\in\mathbb{R}^{n\times r}\). The matrix \({\boldsymbol{\mathbf{M}}_m\in \mathbb{R}^{r\times r}}\) denotes the constant diagonal rotor inertia matrix. The motor torques are stacked in the vector \(\boldsymbol{\mathbf{\tau}}_m \in \mathbb{R}^r\).
The inertial coupling via \(\boldsymbol{\mathbf{M}}_{lm}\) appears, if the link-side movement of the robot induces a rotation of some motor boxes around their rotor axis [35]. In that case, the rotational kinetic energy of the rotor depends on both its own spinning with respect to the motor box and the angular velocity of the motor box induced by \(\dot{\boldsymbol{\mathbf{q}}}_l\). An example is displayed in Fig. 9. For large gear reductions, it is often assumed that the inertial coupling is negligible. The model 25 with \(\boldsymbol{\mathbf{M}}_{lm} = \boldsymbol{\mathbf{0}}\) is then referred to as reduced model [35], [36].
The task coordinate \(\boldsymbol{\mathbf{x}}= \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}}_l)\), and thus also the inequality constraint imposed on the task coordinate as defined in Sec. 3, are functions of the link-side coordinates \(\boldsymbol{\mathbf{q}}_l\) only. In the following, we omit the last \(r\) vanishing columns of the task and constraint Jacobian and use \(\boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{q}}_l) = \frac{\partial \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}}_l)}{\partial \boldsymbol{\mathbf{q}}_l}\) and \(\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}}_l) = \frac{\partial \phi(\boldsymbol{\mathbf{q}}_l)}{\partial \boldsymbol{\mathbf{q}}_l}\), respectively, with a slight abuse of notation.
Integrating 25 over the infinitesimal impact duration, the impact equations \[\label{eq:impact95eq32elastic} \begin{align} \boldsymbol{\mathbf{M}}_l\left(\dot{\boldsymbol{\mathbf{q}}}^+_l -\dot{\boldsymbol{\mathbf{q}}}^-_l\right) +\boldsymbol{\mathbf{M}}_{lm}\left(\dot{\boldsymbol{\mathbf{q}}}^+_m-\dot{\boldsymbol{\mathbf{q}}}^-_m\right) &= \boldsymbol{\mathbf{A}}^T\Lambda\\ \boldsymbol{\mathbf{M}}^T_{lm}\left(\dot{\boldsymbol{\mathbf{q}}}^+_l -\dot{\boldsymbol{\mathbf{q}}}^-_l\right) + \boldsymbol{\mathbf{M}}_m\left(\dot{\boldsymbol{\mathbf{q}}}^+_m-\dot{\boldsymbol{\mathbf{q}}}^-_m\right) &= \boldsymbol{\mathbf{0}} \end{align}\tag{26}\] are obtained for a frictionless impact [18]. Combining them with the restitution model from 4, the impact model for flexible joint robots is straightforwardly derived as \[\tag{27} \begin{align}\tag{28} \dot{\boldsymbol{\mathbf{q}}}^+_l &= \left(\boldsymbol{\mathbf{I}} - \left(1+e\right)\boldsymbol{\mathbf{\boldsymbol{\mathbf{A}}}}^{\bar\boldsymbol{\mathbf{M}}^\dagger}\boldsymbol{\mathbf{A}}\right) \dot{\boldsymbol{\mathbf{q}}}^-_l\\ \tag{29} \dot{\boldsymbol{\mathbf{q}}}^+_m &= \dot{\boldsymbol{\mathbf{q}}}^-_m + \left(1+e\right) \boldsymbol{\mathbf{M}}_m^{-1}\boldsymbol{\mathbf{M}}_{lm}^T\boldsymbol{\mathbf{\boldsymbol{\mathbf{A}}}}^{\bar\boldsymbol{\mathbf{M}}^\dagger}\boldsymbol{\mathbf{A}}\dot{\boldsymbol{\mathbf{q}}}^-_l \end{align}\] following [18]. The matrix \({\bar{\boldsymbol{\mathbf{M}}}(\boldsymbol{\mathbf{q}}_l) \in \mathbb{R}^{n\times n}}\) is defined as \[\label{eq:Mbar} \bar\boldsymbol{\mathbf{M}}(\boldsymbol{\mathbf{q}}_l) = \boldsymbol{\mathbf{M}}_l(\boldsymbol{\mathbf{q}}_l) - \boldsymbol{\mathbf{M}}_{lm}(\boldsymbol{\mathbf{q}}_l)\boldsymbol{\mathbf{M}}_m^{-1}\boldsymbol{\mathbf{M}}_{lm}^T(\boldsymbol{\mathbf{q}}_l).\tag{30}\]
Given the impact model 27 , nonsmooth and impact invariant velocities can be identified for the link and motor side.
Lemma 2 (Link-side NSID and impact-invariant velocities). Consider a flexible joint robotic system 25 undergoing an impact satisfying Assumptions 1-4. All results from Sec. 4 can be applied to the link-side impact behavior using \({\boldsymbol{\mathbf{M}}= \bar{\boldsymbol{\mathbf{M}}}}\), \(\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{q}}_l) = \frac{\partial \phi(\boldsymbol{\mathbf{q}}_l)}{\partial \boldsymbol{\mathbf{q}}_l}\), and \(\boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{q}}_l) = \frac{\partial \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}}_l)}{\partial \boldsymbol{\mathbf{q}}_l}\). In particular, a NSID in configuration and task space can be calculated as defined in Theorems 2 and 5. Impact invariant velocities can be obtained from Theorems 1 and 4.
We denote the link-side NSID as \(\dot{\boldsymbol{\mathbf{q}}}_{l,\ast}\) in the following.
While flexible joint robots may seem well suited for impact tasks, 29 reveals, that, in general, they do not fully protect the motors from impulsive torques [18]. One obtains \[\label{vzjepsfl} \boldsymbol{\mathbf{M}}_m\left(\dot{\boldsymbol{\mathbf{q}}}^+_m-\dot{\boldsymbol{\mathbf{q}}}^-_m\right) = - \boldsymbol{\mathbf{M}}_{lm}^T\bar{\boldsymbol{\mathbf{M}}}^{-1}\boldsymbol{\mathbf{A}}^T\Lambda,\tag{31}\] where an impulsive torque \(\boldsymbol{\mathbf{T}} = - \boldsymbol{\mathbf{M}}_{lm}^T\bar{\boldsymbol{\mathbf{M}}}^{-1}\boldsymbol{\mathbf{A}}^T\Lambda \in \mathbb{R}^r\) is acting on the motor side, inducing a motor velocity jump. From 29 it becomes immediately clear that the jump only depends on pre-impact link-side velocities \(\dot{\boldsymbol{\mathbf{q}}}^-_l\) and not on pre-impact motor velocities \(\dot{\boldsymbol{\mathbf{q}}}^-_m\). This is due to the fact that the inequality constraint only restricts link-side motions.
Theorem 8 (nonsmooth motor velocities). Consider a flexible joint robotic system 25 undergoing an impact satisfying Assumptions 1-4. If it holds \({\boldsymbol{\mathbf{M}}_{lm}^T\dot{\boldsymbol{\mathbf{q}}}_{l,\ast} \neq \boldsymbol{\mathbf{0}}}\), i.e. if the NSID \({\dot{\boldsymbol{\mathbf{q}}}_{l,\ast} = \nu\bar{\boldsymbol{\mathbf{M}}}^{-1}\boldsymbol{\mathbf{A}}^T}\) in the configuration space is not in the null space of the inertial coupling matrix \(\boldsymbol{\mathbf{M}}_{lm}^T\), the impact induces nonsmooth motor velocities. The discontinuity solely depends on the NSID contribution to the pre-impact link-side velocity.
Proof. Given 2, evaluating 29 for the general pre-impact velocity \({\dot{\boldsymbol{\mathbf{q}}}^-_l = \dot{\boldsymbol{\mathbf{q}}}_{l,\ast} + \dot{\boldsymbol{\mathbf{q}}}_{l,\mathrm{iv}}}\) yields \[\begin{align} \dot{\boldsymbol{\mathbf{q}}}^+_m & = \dot{\boldsymbol{\mathbf{q}}}^-_m + \left(1+e\right) \boldsymbol{\mathbf{M}}_m^{-1}\boldsymbol{\mathbf{M}}_{lm}^T\dot{\boldsymbol{\mathbf{q}}}_{l,\ast}\\ \label{eq:32dqplus322} & = \dot{\boldsymbol{\mathbf{q}}}^-_m + \left(1+e\right)\nu \boldsymbol{\mathbf{M}}_m^{-1}\boldsymbol{\mathbf{M}}_{lm}^T\bar{\boldsymbol{\mathbf{M}}}^{-1}\boldsymbol{\mathbf{A}}^T. \end{align}\tag{32}\] The second term therein only depends on the NSID contribution and is nonzero iff \(\boldsymbol{\mathbf{M}}_{lm}^T\dot{\boldsymbol{\mathbf{q}}}_{l,\ast} \neq \boldsymbol{\mathbf{0}}\). ◻
Note that plugging \(\boldsymbol{\mathbf{A}}= \boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{J}}\) and \(\dot{\boldsymbol{\mathbf{x}}}^-= \dot{\boldsymbol{\mathbf{x}}}_\ast+\dot{\boldsymbol{\mathbf{x}}}_\mathrm{iv}\) in 29 and using ?? , one can reconstruct 32 . Thus, the post-impact motor velocities can also directly be predicted from \(\dot{\boldsymbol{\mathbf{x}}}^-\).
According to 8, an impact of a flexible joint robotic system with inertial couplings in a configuration for which \({\boldsymbol{\mathbf{M}}_{lm}^T\dot{\boldsymbol{\mathbf{q}}}_{l,\ast} \neq \boldsymbol{\mathbf{0}}}\) is fulfilled always yields nonsmooth motor velocities. The practical relevance of this effect depends on the specific robotic system. When building or choosing flexible joint robotic hardware for impact applications, the possible harmful effects of inertial couplings on motors should be evaluated. We summarize results of this section with respect to the link-side generalized velocities in Fig. 10.
Consider the robotic system 3 or the flexible joint robot 25 . Besides the inequality constraint 5 , we now assume it is also subject to a \(p\)-dimensional equality constraint \(\boldsymbol{\mathbf{\phi}}_{c}(\boldsymbol{\mathbf{q}}) = \boldsymbol{\mathbf{0}}\) on the generalized coordinate \(\boldsymbol{\mathbf{q}}\). Thus, the generalized contact torque \[\label{eq:eq32constraint32tau32contact} \boldsymbol{\mathbf{\tau}}_{\mathrm{contact}} = \boldsymbol{\mathbf{A}}^T\lambda + \boldsymbol{\mathbf{A}}_{c}^T\boldsymbol{\mathbf{\lambda}}_{c}\tag{33}\] includes a contribution induced by the generalized forces \({\boldsymbol{\mathbf{\lambda}}_{c}\in\mathbb{R}^p}\) in direction of the equality constraint. It holds \({\boldsymbol{\mathbf{A}}_{c}= \frac{\partial \boldsymbol{\mathbf{\phi}}_{c}(\boldsymbol{\mathbf{q}})}{\partial \boldsymbol{\mathbf{q}}}}\) for the Jacobian \({\boldsymbol{\mathbf{A}}_{c}\in \mathbb{R}^{p\times n}}\) of the equality constraint. In the following, we address situations satisfying the assumption below.
Assumption 6. The equality constraint Jacobian \(\boldsymbol{\mathbf{A}}_{c}\) is of full rank. Further, all rows of \(\boldsymbol{\mathbf{A}}_{c}\) are linearly independent from \(\boldsymbol{\mathbf{A}}\), i.e. it holds \(\mathrm{rank}\left(\left[\boldsymbol{\mathbf{A}}_{c}^T, \boldsymbol{\mathbf{A}}^T\right]\right)=p+1\).
The following analysis is performed for the robotic system 3 with non-elastic joints for the sake of readability. However, all results can be applied mutatis mutandis for flexible joint robots.
Lemma 3 (Impact Model of a constrained robotic system). Consider a robotic system 3 subject to a \(p\)-dimensional equality constraint \(\boldsymbol{\mathbf{\phi}}_c(\boldsymbol{\mathbf{q}}) = \boldsymbol{\mathbf{0}}\) and the one-dimensional inequality constraint 5 . Under an impact satisfying Assumptions 1-6, the post-impact generalized velocities are obtained from the pre-impact state as follows: \[\begin{align} \label{eq:impact32map32constrained} \dot{\boldsymbol{\mathbf{q}}}^+= \left( \boldsymbol{\mathbf{I}} - \left(1+e\right)\boldsymbol{\mathbf{P}}_{q,c}\right) \dot{\boldsymbol{\mathbf{q}}}^-. \end{align}\qquad{(9)}\] The projector \(\boldsymbol{\mathbf{P}}_{q,c}\) therein can be formulated as \[\label{eq:Pqc322} \boldsymbol{\mathbf{P}}_{q,c} = \boldsymbol{\mathbf{W}}_{q,c} \boldsymbol{\mathbf{A}}^T\left(\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{W}}_{q,c} \boldsymbol{\mathbf{A}}^T\right)^{-1}\boldsymbol{\mathbf{A}}\qquad{(10)}\] with \(\boldsymbol{\mathbf{W}}_{q,c} = (\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_c)\boldsymbol{\mathbf{M}}^{-1}(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_c^T) \in \mathbb{R}^{n\times n}\) and \({\boldsymbol{\mathbf{P}} _c = \boldsymbol{\mathbf{\boldsymbol{\mathbf{A}}}}^{\boldsymbol{\mathbf{M}}^\dagger}_c\boldsymbol{\mathbf{A}}_c} \in \mathbb{R}^{n\times n}\).
Proof. To derive the model, the robot dynamics 3 with 33 are integrated over the infinitesimal impact. Considering that it always holds \(\dot{\boldsymbol{\mathbf{q}}}= (\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c})\dot{\boldsymbol{\mathbf{q}}}\), i.e. all generalized velocities are compatible with the equality constraint at all times, the final model is obtained. We provide the detailed derivation in 11.2. ◻
Remarks: The inverse in ?? exists due to 6. Further, note that the projector \(\boldsymbol{\mathbf{P}}_{q,c}\) is in a similar form as the one from 2 used throughout this paper.
Theorem 9 (NSID of a constrained system in configuration space). Consider a constrained robotic system undergoing an impact, modeled by 3. The constrained NSID \(\dot{\boldsymbol{\mathbf{q}}}_{*,c}\) in configuration space is obtained as the dynamically consistent projection of the unconstrained NSID \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) from 2 on the equality constraint, i.e. \[\label{quafkbtg} \dot{\boldsymbol{\mathbf{q}}}_{*,c} = (\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\dot{\boldsymbol{\mathbf{q}}}_\ast= \nu(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T,\qquad{(11)}\] with the projector \(\boldsymbol{\mathbf{P}}_{c}= \boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}_{c}\boldsymbol{\mathbf{A}}_{c}\), and \(\nu < 0\). The feasible impact-invariant space is \((n-p-1)\)-dimensional.
Proof. The NSID is straightforwardly identified from the range of the projector \(\boldsymbol{\mathbf{P}}_{q,c}\) in ?? as \({\dot{\boldsymbol{\mathbf{q}}}_{*,c} = \nu\boldsymbol{\mathbf{W}}_{q,c}\boldsymbol{\mathbf{A}}^T}\). By definition of \(\boldsymbol{\mathbf{W}}_{q,c}\), 43 and idempotence of \((\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c})\), we obtain \({\dot{\boldsymbol{\mathbf{q}}}_{*,c} = \nu(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}^T = (\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\dot{\boldsymbol{\mathbf{q}}}_\ast}\). By definition of \((\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\), this corresponds to a dynamically consistent projection [37] of \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) on the constraint.
For the impact-invariant space, we analyze the null space of \(\boldsymbol{\mathbf{P}}_{q,c}\), which is \((n-1)\)-dimensional, in general. However, \(\dot{\boldsymbol{\mathbf{q}}}^-\) from the \(p\)-dimensional subspace defined as \({\ker(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c})}\) are not compatible with the equality constraint and thus unfeasible. Given 6, the impact-invariant subspace can thus be defined as the orthogonal complement to \(\ker(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c})\) in \(\ker(\boldsymbol{\mathbf{A}}(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}))\). Hence, it is \({( n-p-1)}\)-dimensional. ◻
Utilizing \(\boldsymbol{\mathbf{A}}= \boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{J}}\), the task space map \[\label{eq:dxplus32constrained} \dot{\boldsymbol{\mathbf{x}}}^+= \left(\boldsymbol{\mathbf{I}} - \left(1+e\right) \boldsymbol{\mathbf{P}}_{x,c} \right)\dot{\boldsymbol{\mathbf{x}}}^-\tag{34}\] can be directly obtained from ?? , with the projector \[\label{eq:Pxc} \boldsymbol{\mathbf{P}}_{x,c} = \boldsymbol{\mathbf{W}}_{x,c}\boldsymbol{\mathbf{A}}_x^T\left(\boldsymbol{\mathbf{A}}_x\boldsymbol{\mathbf{W}}_{x,c}\boldsymbol{\mathbf{A}}_x^T\right)^{-1}\boldsymbol{\mathbf{A}}_x\tag{35}\] and \(\boldsymbol{\mathbf{W}}_{x,c} = \boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\boldsymbol{\mathbf{M}}^{-1}\left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}^T\right)\boldsymbol{\mathbf{J}}^T\).9 Thus, we conclude the following:
Corollary 6. For the task space NSID \(\dot{\boldsymbol{\mathbf{x}}}_{\ast,c}\) of a constrained robotic system it holds \[\label{ayegqjrl} \dot{\boldsymbol{\mathbf{x}}}_{\ast,c} = \nu\boldsymbol{\mathbf{W}}_{x,c}\boldsymbol{\mathbf{A}}_x^T = \boldsymbol{\mathbf{J}}\dot{\boldsymbol{\mathbf{q}}}_{\ast,c} = \boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c})\dot{\boldsymbol{\mathbf{q}}}_\ast,\qquad{(12)}\] with the constrained NSID \(\dot{\boldsymbol{\mathbf{q}}}_{\ast,c}\) in configuration space, the unconstrained NSID \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) in configuration space, and \(\nu < 0\). The impact invariant task space \({\ker(\boldsymbol{\mathbf{A}}_x) \cap \mathrm{range}(\boldsymbol{\mathbf{J}}(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}))}\) contains all feasible task velocities, which are in the null space of the inequality constraint.
The remainder of this work aims at experimentally evaluating the key properties of the NSID. To validate the calculation of the NSID independent of a controller, we start with a passive multibody sytem in this section. In particular, we will evaluate the following result: Only an impact under the NSID aligns the rebound path with the approach path independent of the restitution factor.
Using the passive system is motivated by the fact that, due to 3, the impact model 8 from [17] equates the motion of an actuated robot during an impact to that of its underlying passive multibody system. By employing such a passive system for our initial experiments, we demonstrate that (i) the NSID is indeed an inherent property of passive multibody systems, and (ii) the alignment of approach and rebound paths is triggered solely by the approach direction, rather than by motor dynamics or any control strategy. We will then go on to analyze impacts with a torque-controlled robot in Sec. 10.
The utilized jointed multi-body system 3D-printed from PLA is depicted in Fig 11. It comprises three revolute joints with parallel axes. The joint angles are stacked in the vector \(\boldsymbol{\mathbf{q}}\in\mathbb{R}^3\) of generalized coordinates. The motion of the system is restricted to the \(yz\)-plane of the world frame, located in the first joint. We utilize the end-effector position \(\boldsymbol{\mathbf{x}}= \begin{bmatrix} y & z \end{bmatrix}^T \in \mathbb{R}^2\) of the center of the spherical tool tip in that frame as a task coordinate. It holds \(l_1 = l_2 = \SI{0.165}{\metre}\) and \(l_3 = \SI{0.128}{\metre}\) for the lengths of the three links and \(m_1 = \SI{0.299}{\kilogram}\), \(m_2 =\SI{0.208}{\kilogram}\) and \(m_3 = \SI{0.272}{\kilogram}\) for their masses. The mechanism is placed above a horizontal surface, which is impacted with the end-effector in the experiments. To evaluate effects of different contact pairings, we utilize both a coated chipboard and an aluminum profile as a contact surface.
Gravity acts along the negative \(z\)-axis of the world frame and is utilized to generate the impact motions. Given elastic suspensions made from soft rubber bands, the system favors elbow-up configurations throughout the experiments. This ensures that only the end-effector collides with the surface and increases repeatability of the tests without affecting the impact dynamics.
For every trial, the mechanism was moved manually via attached guiding strings, such that the end-effector lifted from the contact surface. Upon release, the mechanism accelerated under the influence of gravity, causing the end-effector to collide with the surface. The motion of each link during the impact tests was recorded using an OptiTrack motion capture system at a frequency of \(\SI{1}{\kilo\hertz}\). During post-processing, moreover, the time evolution of the joint angles \(\boldsymbol{\mathbf{q}}(t)\) was computed from the data using kinematics of the system. The raw and unfiltered measurement data were employed in the subsequent evaluation so as not to distort the effects of the impact dynamics.
Before analyzing effects of the approach direction on the rebound direction, let us consider one trial per contact in detail and define a measure for the impact timing.
Figure 12 depicts the evolution of the \(z\)-coordinate of the end-effector over time for one exemplary trial per contact surface. We observe a sharp edge at the first minimum comprising 2-3 time steps. This indicates an impact duration roughly in the range of the sampling time of the motion capture system. We will refer to the impact as the local minimum of \(z(t)\) obtained under the first collision of the end-effector with the surface in the following. We will indicate it with a yellow marker in the plots, separating the approach phase from the rebound phase. The analysis presented in this work is valid for infinitesimal times around an impact. However, to provide more context, we will depict time windows of 0.03 s pre- and post-impact, in the following (cf. the sequence shaded in yellow for the two experiments of Fig. 12).
The selected contact surfaces have distinct elastic properties. While only slight bouncing is observed for the experiments on the aluminum surface, the end-effector clearly rebounds from the coated chipboard. This is confirmed with the zoomed plots of Fig. 12. While the tangents of the approach path are parallel at the impact for both surfaces, the tangent of the rebound path has a larger inclination for the coated chipboard. With 4, this implies that the restitution factor for impacts on the coated chipboard is significantly higher.
We will focus on eleven trials per contact surface in the following. These were selected based on the horizontal location of the impact, such that the same range of impact locations is covered approximately equidistantly. Figure 13 depicts the corresponding approach and rebound paths of the end-effector in the \(yz\)-plane around the first collision. Waypoints with a timely distance of 0.01 s are marked with dots.
It is important to note that all approach paths (plotted in blue) are roughly parallel. This effect is visible throughout the data set. Thus, the reconfigurations necessary to obtain the different impact locations have negligible effect on the direction of the end-effector path, which is dictated by gravity and the elastic suspensions. However, in our setup, these configuration changes come with a noticeable variation in the NSID in task space. For the presented results, the NSID, as computed at the time of the impact, tilts approximately 60 ° around the negative \(x\)-axis. With increasing \(y\)-values of the impact location, it reduces its angle to the approach path, crosses it, and then increases the relative angle again. This property is utilized to analyze NSID impacts, as well as impacts under positive and negative angles with respect to the NSID of the passive mechanism in the following.
Consider the impacts on the aluminum profile depicted in the lower plot of Fig. 13. In experiment 7 the approach path in task space is tangential to the NSID in task velocity space. In this case, the rebound path aligns the approach path immediately after the impact, which matches with the presented results. With increasing angle between the NSID and the approach path, also the angular deviation of the rebound path from the approach path directly after the impact increases. We observe that an approach with a positive angle between the NSID and the approach path results in a negative angle between the NSID and the rebound path and vice versa. This is predicted by the presented theory as well: when splitting up the pre-impact velocities in an NSID contribution and an impact-invariant contribution following 13 , the impact-invariant contribution, which corresponds to horizontal motions here, is preserved over the impact (cf. Fig. 4). Experiment 9 appears to be an outlier. Eventhough the impact seems to have occured under the NSID, a deflection of the rebound path is observed. This could, e.g. be due to measurement inaccuracies or backlash in the proposed mechanism.
Now consider impacts on the coated chipboard as reported in the upper plot of Fig. 13. First, note that the rebound paths, which are always depicted for 0.03 s, are longer than for the impacts on the aluminum surface. This aligns with the earlier observation that the impacts on the coated chipboard are more elastic. Nevertheless, the same conclusions can be drawn from the experiments. The approach path roughly aligns the NSID in experiments 7 and 8 implying a rebound along the approach path. In all other cases, the rebound direction deviates from the approach direction in the expected manner.
The experiments confirm that impacts under the NSID align the rebound path with the approach path for impacts with arbitrary and possibly unknown restitution factors. In utilizing a passive mechanism as a minimal example, we highlight that the NSID is a physical property of a multi-body system.
In the following, we will focus on experiments with a torque-controlled robot. Besides evaluating rebound behaviour under various approach directions and controllers, we will also analyze contact force measurements in presence of contact friction.
We utilize a Franka robot (FR3) under various control modes, approach directions and endeffectors.
The experimental setup is depicted in Fig. 14. The robot is placed in front of a horizontal plywood screwed on a SensONE 6-axis force-torque sensor (FTS) by Bota Systems AG. In order to allow for clearer graphical representation of the end-effector paths, we restrict the experiments to planar motions. Hence, we only consider joints 2, 4, and 6 for the following analysis. A stiff joint PD-controller regulates the remaining joints in their initial position.
We utilize two tools attached to the robot’s flange. They are 3D printed from PLA, and share the same geometry, and inertial properties. However, we attached sandpaper on the tip of tool 2 (cf. Fig. 14). We define the TCP at the center of the cylindrical tip. The task coordinate \(\boldsymbol{\mathbf{x}}\) stacks the translational position \(\begin{bmatrix} x & z \end{bmatrix}^T\) of the TCP and its orientation, in the following.
All experiments are performed at the desired impact configuration \(\boldsymbol{\mathbf{q}}_{\mathrm{imp}}\) depicted in Fig. 14. It holds \({\boldsymbol{\mathbf{x}}_{\mathrm{imp}} = \boldsymbol{\mathbf{f}}(\boldsymbol{\mathbf{q}}_{\mathrm{imp}}) = \begin{bmatrix} \SI{0.546}{\metre} & \SI{0.07}{\metre} & \SI{0}{\radian} \end{bmatrix}^T}\). The NSID is evaluated as \({\dot{\boldsymbol{\mathbf{x}}}_\ast(\boldsymbol{\mathbf{q}}_{\mathrm{imp}},\nu) \approx \nu\begin{bmatrix} 0.15 & 0.16 & -0.54 \end{bmatrix}^T}\), which corresponds to a translational approach angle of \({\alpha \approx 43.5^\circ}\) (cf. Fig. 14). The configuration has been chosen such that impacts under a broad range of approach angles can be performed without triggering safety thresholds of the FR3. The FTS is placed, such that the tool tip contacts the plywood above its center.
The experiments are performed using straight, translational taskspace paths. The approach paths lead toward the impact configuration, and the return paths start from it. Each path is uniquely defined by its (approach) angle \(\alpha\) (cf. Fig. 14), which we vary within the range \(\alpha \in [-40^\circ, 60^\circ]\). A time parametrization is chosen, such that all impacts occur at a constant desired normal contact velocity of \(\dot{\varphi}_d = \SI{0.1}{\metre/\second}\). The endeffector orientation is kept constant.
The robot is operated in three control modes. The first one is a PD+ type Cartesian compliance controller. We apply the control law \[\label{eq:PD} \boldsymbol{\mathbf{\tau }}= \boldsymbol{\mathbf{J}}^T\left(\boldsymbol{\mathbf{M}}_x\ddot{\boldsymbol{\mathbf{x}}}_d + \boldsymbol{\mathbf{\mu}}\dot{\boldsymbol{\mathbf{x}}}_d - \boldsymbol{\mathbf{D}}_{PD_+}\dot{\tilde{\mathbf{x}}} - \boldsymbol{\mathbf{K}}_{PD_+}\tilde{\boldsymbol{\mathbf{x}}} \right) +\boldsymbol{\mathbf{g}},\tag{36}\] with the position \(\tilde{\boldsymbol{\mathbf{x}}} = \boldsymbol{\mathbf{x}}- \boldsymbol{\mathbf{x}}_d\) and velocity errors \(\dot{\tilde{\mathbf{x}}} = \dot{\boldsymbol{\mathbf{x}}}- \dot{\boldsymbol{\mathbf{x}}}_d\). Furthermore, it holds \(\boldsymbol{\mathbf{\mu}}(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}) = \boldsymbol{\mathbf{M}}_x\left(\boldsymbol{\mathbf{J}}\boldsymbol{\mathbf{M}}^{-1}_x\boldsymbol{\mathbf{C}}-\dot{\boldsymbol{\mathbf{J}}}\right)\boldsymbol{\mathbf{J}}^{-1}\), with the Coriolis- and centrifugal matrix \(\boldsymbol{\mathbf{C}}(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}}) \in \mathbb{R}^{n\times n}\). The gravitational torques are stacked in \(\boldsymbol{\mathbf{g}}(\boldsymbol{\mathbf{q}}) \in \mathbb{R}^n\). The gain matrix \(\boldsymbol{\mathbf{K}}_{PD_+} \in \mathbb{R}^{3\times 3}\) is diagonal with entries \(\begin{bmatrix} \SI{1500}{\newton/\metre} & \SI{1500}{\newton/\metre} & \SI{150}{\newton\metre/\radian} \end{bmatrix}\). A state dependent damping is chosen based on double-diagonalization [38] with damping factor \(\xi = 0.65\).
Secondly, a computed torque (CT) controller in task space is employed with control law \[\label{eq:CT} \boldsymbol{\mathbf{\tau }}= \boldsymbol{\mathbf{J}}^T\boldsymbol{\mathbf{M}}_x\left(\ddot{\boldsymbol{\mathbf{x}}}_d + \boldsymbol{\mathbf{\mu}}\dot{\boldsymbol{\mathbf{q}}}- \boldsymbol{\mathbf{D}}_{CT}\dot{\tilde{\mathbf{x}}} - \boldsymbol{\mathbf{K}}_{CT}\tilde{\boldsymbol{\mathbf{x}}} \right) +\boldsymbol{\mathbf{g}}.\tag{37}\] The diagonal gain matrices are chosen as \(\boldsymbol{\mathbf{K}}_{CT} = \operatorname{diag}(\SI{650}{\newton/\metre} ,\SI{650}{\newton/\metre},\SI{1000}{\newton\metre/\radian})\) and \({\boldsymbol{\mathbf{D}}_{CT} = 2\xi\operatorname{diag}(\sqrt{650},\sqrt{650},\sqrt{1000})}\), respectively.
Finally, we also utilize the robot in gravity compensation mode, i.e. \(\boldsymbol{\mathbf{\tau }}= \boldsymbol{\mathbf{g}}\).
We utilize an online impact detection strategy to switch between pre- and post-impact trajectories and control paths. It employs a customly tuned threshold for the vertical acceleration.
Given our theoretic analysis and the experimental results with the passive system, we pose the following hypothesis to be evaluated: Only for an impact under the NSID, an alignment of the approach path with the rebound path immediately after the impact can be achieved for a torque-controlled robot, independent of the applied rigid-body controller.
We evaluate impacts with the PLA tool 1 under three approach angles \({ \alpha \in \{0^\circ, 20^\circ, 43.5^\circ\}}\), where the last one corresponds to the NSID. For every task space tracking controller (i.e. the PD+ controller 36 and CT controller 37 ), and approach direction, we perform two experiments. They are distinct in the post-impact strategy. For the "move back" experiments, the trajectory is reversed upon impact detection. Thus, ideally, the end-effector moves in and out of the contact along the same path. Conversely, for the "free motion" experiments, the control mode is switched to gravity compensation upon impact detection as a baseline.
Figure 15 shows the translational end-effector paths around the contact for all twelve experiments. The approaches on the left are performed under the PD+ controller. Results for the CT controller are shown on the right.
First, consider the top plots belonging to the vertical approach. For the "free motion" post-impact strategy, the end-effector is deflected from the vertical approach path in positive \(x\)-direction. It comes to a full stop approximately \(\SI{3}{\milli\metre}\) above the surface. As opposed to these baseline experiments the end-effector motion of the "move back" experiments is controlled post-impact. However, directly after the impact the rebound paths do not align with the vertical approach paths, but with the "free motion" paths. Thus, the impact introduces the same initial deflection for the controlled robot under two different control approaches and the uncontrolled robot in gravity compensation mode. As expected, the controllers compensate the occured error over time. The depicted section of Fig. 15 shows the initiated motion towards the desired vertical path. For the approach under the second non-NSID approach at \(\alpha = 20^\circ\), the same observations hold as for the vertical approach.
Conversely, consider the NSID approach under \(\alpha = 43.5^\circ\) as depicted in the bottom plots of Fig. 15. The rebound path in "free motion" aligns the approach path obtained under both control approaches, before the endeffector stops. Moreover, also for the "move back" strategy, no significant deviation from the desired path is introduced by the impact.
The results confirm that an NSID approach aligns the rebound path with the approach path. In the considered experiments with a torque-controlled robot, this was the case under a CT controller, a Cartesian compliance (PD+) controller, and in free motion. Moreover, non-NSID approaches yielded a deviation from the approach paths independent from the rigid-body controller. Thus, overall the results suggest that the posed hthesis is valid.
It is notable that the desired impact target was not perfectly met in all experiments. For the four vertical impacts, we observe a maximum deviation of approximately 2 mm in the \(x\)-direction, which also implies slight variations in the impact configurations. Figure 16 (a) analyzes the sensitivity of the NSID to such configuration uncertainties. In the considered setting, angular deviations of up to \(1^\circ\) result in translational end-effector shifts of roughly \(\pm\SI{15}{\milli\metre}\), thus covering the observed variations. Yet, they induce only minor deviations in the NSID angle with offsets within \([-1.3^\circ, 1.1^\circ]\). Thus, the small errors in the impact configuration do not affect the NSID considerably and the experiments remain comparable. Figure 16 (b) and (c) further confirms that the NSID is not considerably sensitive with respect to expectable uncertainties in both the inertial parameters and the constraint orientation.
The experiments were conducted at relatively low approach velocities of \(\dot{\varphi} = -\SI{0.1}{\metre/\second}\) to avoid damaging the torque sensors and gears of the robot. It is plausible that induced errors would increase at higher approach velocities using a system designed to withstand stronger impacts.
Our analysis in Sec. 6 revealed that post-impact slippage on a frictional, fully inelastic contact surface can be prevented by choosing the approach directions from a friction-dependent cone. Among those, the NSID is the unique direction for which the impulsive force becomes orthogonal to the contact. In the following, we aim to validate this conclusion in a realistic setting, where several of the underlying assumptions are not perfectly met. First, the previous experiments show a slight post-impact bouncing of the endeffector in free motion, which indicates slight impact elasticity. Moreover, the impact is not instantaneous. Hence, contact forces cannot become infinitely large and momentum is transferred over a small but finite time interval. In that sense, we hypothesize: For an impact under the task space NSID, the momentum change is transferred along the constraint normal at the contact point.
We will evaluate this utilizing the FTS readings at the impact for the two tools with different frictional properties.
Impact experiments are conducted with both tools using the CT controller pre- and the “free-motion’’ strategy post-impact. The approach angle \(\alpha\) is varied from \(-40^\circ\) to \(60^\circ\). We use a finer resolution in the vicinity of the NSID angle \(\alpha \approx 43.5^\circ\) and larger increments at greater deviations. From the FTS readings, we obtain the forces \(F_x\) and \(F_z\) applied on the endeffector in \(x\)- and \(z\)-directions, respectively, at \(\SI{2}{\kilo\hertz}\). For the total momentum transferred on the end-effector during the contact in direction \(x\), it holds \[\label{sec:eq:momentum95x} p_z = \int_{t_0}^{t_e} F_z(t) \; dt,\tag{38}\] where the times \(t_0\) and \(t_e\) correspond to the beginning and the end of the contact, respectively.10 The momentum \(p_x\) in \(x\)-direction is obtained from \(F_x(t)\) accordingly. During post-processing, the total momentum transferred during the contact in each direction was computed numerically for every trial.
Figure 17 shows the fraction \(p_x/p_z\) over the approach angle for both tools. Moreover, the underlying forces \(F_x(t)\) and \(F_z(t)\) are provided over time for two characteristic approach angles.
The absolute values of \(p_x/p_z\) are larger for the sandpaper tool as compared to the PLA tool. This is as expected, as the sandpaper increases the friction between the endeffector and the plywood. Thus, larger forces in \(x\)- direction can be transferred given the same normal force. This becomes also visible in the force plot \(F_x(t)\) for \(\alpha = -30^\circ\). There, a force of approximately \(\SI{50}{\newton}\) is transmitted over about \(\SI{0.01}{\second}\) for the impact with the sandpaper tool. Conversely, the force only shows a short peak of up to \(\SI{35}{\newton}\) for the PLA tool. For both tools, the momentum ratio is decreasing with increasing approach angle. The curves intersect approximately at their zero crossing. This approximately corresponds to an approach angle which equals the NSID angle.
While \(p_x\) vanishes for impacts under the NSID, there are still forces transmitted in \(x\)-direction. The corresponding force profile shows oscillatory forces around \(F_x = 0\), which integrate to zero. Notably, the profile of \(F_x\) is very similar for both tools, as opposed to the approach at \(-30^\circ\). Thus, the differing contact friction seems to have limited effects under the NSID.
Our theory predicts that only under an NSID approach of a frictional, inelastic surface, the impulsive force becomes perpendicular to the surface under the instantaneous impact. The provided experiments show that in the considered scenario of a slightly elastic, finite-time impact, the same conclusion holds for the momentum transferred over the finite impact time. Thus, the posed hypothesis applies in the considered case. This can be an indication that 7 is also meaningful for not perfectly inelastic contacts.
Future work can focus on analyzing the general case of frictional, elastic impacts. To the best of the authors’ knowledge, suitable instantaneous impact models are still under debate [16], [39]. Consequently, a systematic experimental validation of such models within a robotic context appears necessary.
This paper derived the NSID in configuration and task space from a projection-based analysis of the common instantaneous impact model. We performed a comprehensive theoretical analysis of this quantity, highlighting that it is characteristic to a robotic impact scenario. We provided interpretations and covered broad classes of robotic systems and contact properties.
While the analysis relies on several idealizing assumptions, our experiments show that the results are relevant in practice. In particular, we verified that the approach direction w.r.t. the NSID affects i) the post-impact rebound direction and ii) the direction of momentum transfer at the contact for a frictional, inelastic surface. The NSID was shown to be independent from the contact’s restitution factor. Moreover, we proved that it is an inherent property of passive multi-body systems, which prevails for actuated systems and cannot be shaped by rigid body controllers.
Thus, overall, we are confident that our findings can support future impact-aware planning and control approaches. Impacts performed along the NSID rebound in the same direction, independent from the restitution factor. This ensures that, for example, an impact tool will not damage the specimen after an impact. Rather, it will follow its approach path backward until the controller affects its motion again. In a hammer-and-nail example, moreover, the transfer of momentum strictly along the contact normal prevents the nail from bending. Furthermore, in the inelastic case, NSID impacts prevent slippage, which could, e.g., benefit locomotion.
Moreover, the presented analysis provides intuitive insights in robotic impact effects, in general. This can inform the design of model-based impact strategies beyond the discussed applications benefitting from an NSID impact. Because our analysis covers a wide range of systems, including fixed-base floating base and constrained systems, torque-controlled robots and impact-robust elastic robots, we believe that the results are accessible to a broad range of domains.
Future works can also focus on analyzing the NSID for frictional (partially) elastic impacts or systems under multiple inequality constraints.
A matrix \(\boldsymbol{\mathbf{P}} \in \mathbb{R}^{a\times a}\) is a projector, iff it is idempotent, i.e. if it holds \(\boldsymbol{\mathbf{P}}^2 = \boldsymbol{\mathbf{P}}\). By this definition, all eigenvalues of a projector can be shown to be either \(0\) or \(1\). In this work, mainly projectors expressed in the form 2 , i.e. \(\boldsymbol{\mathbf{P}} = \boldsymbol{\mathbf{U}}^{\boldsymbol{\mathbf{W}}^\dagger}\boldsymbol{\mathbf{U}}\) are encountered. The range of the projector 2 and thus the eigenspace corresponding to the \(b\)-fold eigenvalue of \(1\) can be identified to be \({\mathrm{range}(\boldsymbol{\mathbf{P}}) = \mathrm{range}(\boldsymbol{\mathbf{W}}^{-1}\boldsymbol{\mathbf{U}}^T)}\). For the \({(a-b)}\)-dimensional kernel it holds \({\ker(\boldsymbol{\mathbf{P}}) = \ker(\boldsymbol{\mathbf{U}})}\), where \({\ker({\boldsymbol{\mathbf{U}}}) = \mathrm{range}(\boldsymbol{\mathbf{U}}^T)^\perp}\). Note that \(\ker(\boldsymbol{\mathbf{P}})\) can be interpreted as the direction of the projection onto the \((a-b)\)-dimensional subspace of \(\mathbb{R}^a\) defined by \(\mathrm{range}(\boldsymbol{\mathbf{W}}^{-1}\boldsymbol{\mathbf{U}}^T)\). The eigenspaces of \(\boldsymbol{\mathbf{P}}\) are summarized in 1. Besides \(\boldsymbol{\mathbf{P}}\), also \(\boldsymbol{\mathbf{P}}_2 = \boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}\) is a projector. It can be intuitively understood that it holds \({\mathrm{range}(\boldsymbol{\mathbf{P}}_2) = \ker(\boldsymbol{\mathbf{P}})}\) and \({\ker(\boldsymbol{\mathbf{P}}_2) = \mathrm{range}(\boldsymbol{\mathbf{P}})}\).
| eigenvalue | dimension of eigenspace | eigenspace |
|---|---|---|
| 0 | a-b | \(\ker(\T U)\) |
| 1 | b | \(\range(\inv{\T W}\T U^T)\) |
Consider the constrained robotic system 3 with 33 as described in Sec. 8. In order for the equality constraint to remain fulfilled, it needs to hold \(\boldsymbol{\mathbf{\phi}}_{c}= \boldsymbol{\mathbf{0}}\), \(\boldsymbol{\mathbf{A}}_{c}\dot{\boldsymbol{\mathbf{q}}}= \boldsymbol{\mathbf{0}}\), and \(\dot{\boldsymbol{\mathbf{A}}}_{c}\dot{\boldsymbol{\mathbf{q}}}+ \boldsymbol{\mathbf{A}}_{c}\ddot{\boldsymbol{\mathbf{q}}}= \boldsymbol{\mathbf{0}}\). With this we have \[\begin{align} \label{eq:lambda32equality} \nonumber \boldsymbol{\mathbf{\lambda}}_{c}= &- \left(\boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}_{c}\right)^T \left(\boldsymbol{\mathbf{\tau }}+ \boldsymbol{\mathbf{A}}^T\lambda - \boldsymbol{\mathbf{h}}(\boldsymbol{\mathbf{q}},\dot{\boldsymbol{\mathbf{q}}})\right)\\ & - \left(\boldsymbol{\mathbf{A}}_{c}\boldsymbol{\mathbf{M}}^{-1}\boldsymbol{\mathbf{A}}_{c}^T\right)^{-1}\dot{\boldsymbol{\mathbf{A}}}_{c}\dot{\boldsymbol{\mathbf{q}}} \end{align}\tag{39}\] for the generalized equality constraint force.
Consider an impact such that the contact and configuration satisfy Assumptions 1-6. Integrating the dynamics 3 with 33 over the infinitesimal impact duration (3), we obtain \[\begin{align} \label{eq:32impact32equ32constrained} \boldsymbol{\mathbf{M}}\left(\dot{\boldsymbol{\mathbf{q}}}^+- \dot{\boldsymbol{\mathbf{q}}}^-\right) &= \boldsymbol{\mathbf{A}}^T\Lambda + \boldsymbol{\mathbf{A}}_{c}^T\underbrace{\left(\lim_{\Delta t \rightarrow 0}\int_{t}^{t+\Delta t} \boldsymbol{\mathbf{\lambda}}_{c}d\tau\right)}_{\boldsymbol{\mathbf{\Lambda}}_{c}}. \end{align}\tag{40}\] The impulsive, generalized equality constraint force \({\boldsymbol{\mathbf{\Lambda}}_{c}\in \mathbb{R}^p}\) therein, is obtained as \[\begin{align} \label{eq:32impulsive32constraint32force} \boldsymbol{\mathbf{\Lambda}}_{c}&= -\left(\boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}_{c}\right)^T\boldsymbol{\mathbf{A}}^T\Lambda \end{align}\tag{41}\] by integration of 39 over the impact duration. Combining 40 and 41 yields \[\begin{align} \label{eq:32impact32equ32constrained32full} \boldsymbol{\mathbf{M}}\left(\dot{\boldsymbol{\mathbf{q}}}^+- \dot{\boldsymbol{\mathbf{q}}}^-\right) &= \left(\boldsymbol{\mathbf{I}} - \underbrace{\boldsymbol{\mathbf{A}}_{c}^T\left(\boldsymbol{\mathbf{A}}^{\boldsymbol{\mathbf{M}}^\dagger}_{c}\right)^T }_{\coloneq\boldsymbol{\mathbf{P}}_{c}^T}\right)\boldsymbol{\mathbf{A}}^T\Lambda. \end{align}\tag{42}\] We identify the dynamically consistent projector [37] \(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}^T\), mapping generalized torques on the constraint. Note that it holds \[\label{eq:32MP} \boldsymbol{\mathbf{M}}^{-1}\left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}^T\right)= (\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_{c}) \boldsymbol{\mathbf{M}}^{-1}.\tag{43}\] The transposed projector \(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}\), projects generalized velocities on the null space of the equality constraint. All generalized velocities \(\dot{\boldsymbol{\mathbf{q}}}\), and thus also \(\dot{\boldsymbol{\mathbf{q}}}^-\) and \(\dot{\boldsymbol{\mathbf{q}}}^+\), have to be compatible with the equality constraint at all times. Thus, in particular, it always holds \(\boldsymbol{\mathbf{A}}_{c}\dot{\boldsymbol{\mathbf{q}}}= \boldsymbol{\mathbf{0}}\) and \[\label{eq:compatible32vel} \dot{\boldsymbol{\mathbf{q}}}= (\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c})\dot{\boldsymbol{\mathbf{q}}}.\tag{44}\]
With 42 and 4 we obtain the map ?? \[\begin{align} \label{eq:impact32map32constrained95app} \dot{\boldsymbol{\mathbf{q}}}^+= \left( \boldsymbol{\mathbf{I}} - \left(1+e\right)\boldsymbol{\mathbf{P}}_{q,c}\right) \dot{\boldsymbol{\mathbf{q}}}^- \end{align}\tag{45}\] utilized in 8. The matrix \(\boldsymbol{\mathbf{P}}_{q,c}\) can be shown to be a projector and is first derived as \[\begin{align} \label{eq:Pqc} \boldsymbol{\mathbf{P}}_{q,c} &= \boldsymbol{\mathbf{M}}^{-1}\left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}^T\right)\boldsymbol{\mathbf{A}}^T\underbrace{\left(\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{M}}^{-1}\left(\boldsymbol{\mathbf{I}} - \boldsymbol{\mathbf{P}}_{c}^T\right)\boldsymbol{\mathbf{A}}^T\right)^{-1}}_{\tikz[baseline=(char.base)]{ \node[shape=circle,draw,inner sep=1pt] (char) {\scriptsize{1}};}}\boldsymbol{\mathbf{A}}. \end{align}\tag{46}\] Note that the inverse marked with always exists due to 6. Exploiting idempotence of \({(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_c^T)}\), and 43 we can reformulate 46 in the form ?? , i.e. \[\begin{align} \boldsymbol{\mathbf{P}}_{q,c} & = \boldsymbol{\mathbf{W}}_{q,c} \boldsymbol{\mathbf{A}}^T\left(\boldsymbol{\mathbf{A}}\boldsymbol{\mathbf{W}}_{q,c} \boldsymbol{\mathbf{A}}^T\right)^{-1}\boldsymbol{\mathbf{A}}, \end{align}\] with \(\boldsymbol{\mathbf{W}}_{q,c} = (\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_c)\boldsymbol{\mathbf{M}}^{-1}(\boldsymbol{\mathbf{I}} -\boldsymbol{\mathbf{P}}_c^T) \in \mathbb{R}^{n\times n}\), which concludes the proof.
Annika Kirner and Christian Ott are with the Automation and Control Institute, TU Wien, 1040 Vienna, Austria (e-mail: annika.kirner@tuwien.ac.at; christian.ott@tuwien.ac.at). Christian Ott is also with the Institute of Robotics and Mechatronics, German Aerospace Center (DLR), 82234 Wessling, Germany.↩︎
This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (Grant agreement No. 101248099).↩︎
Note that, for readability, we will omit arguments of functions after the first introduction, unless they are required for clarity.↩︎
Note, that \(\dot{\boldsymbol{\mathbf{q}}}_\ast\) does contain null space contributions, in general.↩︎
Note that the ellipsoid corresponds to the generalized impact ellipsoid [17], which is equivalent to the inverse generalized inertia ellipsoid [29].↩︎
Typically, it holds \(l= 2\). A planar case study can be obtained for \(l = 1\).↩︎
Combining Newton’s restitution law with Coulombs friction model can create inconsistencies such as apparent energy generation for an arbitrary restitution factor. However, these limitations do not arise for the considered case of fully inelastic impacts [32].↩︎
The scalings of the depicted \(\dot{\boldsymbol{\mathbf{x}}}^-\) are chosen such that they correspond to the same value of \(\Lambda\) normal to the surface. Only translational directions are displayed as they can be visualized easily. However, the cone belongs to an \(m\)-dimensional space in general.↩︎
Note that, for an idealized, instantaneous impact with \(t_e -t_0 \rightarrow 0\), the momentum \(p_z\) corresponds to the impulsive force \(\Lambda\).↩︎