1 Introduction

Space docking activities are becoming quite routine currently. The androgynous peripheral docking system (APDS) is one of the docking structures that has been successfully applied in history [1, 2]. The APDS, manufactured by RSC-Energia in Kaliningrad, Russia, is designed to achieve the capture, dynamic attenuation, alignment, and hard docking of spacecraft through the use of essentially identical docking mechanisms attached to each spacecraft [3]. A docking process has several phases of operation: deployment, capture, attenuation, extension, retraction, structural lockup, and separation [4]. The scope of this paper is only limited to the capture phase. The main target of the capture phase is to remove the initial misalignment between the two docking spacecrafts. Due to 6 degrees of freedom between the two spacecrafts, the interface of an APDS is comparatively complex. The sophisticated outer contours of APDSes may result in complex impact/contact dynamics in the capturing phase of a docking procedure, which is worth investigating thoroughly to guarantee the safety and stability of the docking.

Briefly, there are two ways to model docking contacts by multibody system dynamics [59], namely by being rigid or flexible at contact areas. Cyril et al. [10] considered different impact scenarios and studied the post-impact dynamics associated with manipulator-assisted docking/berthing. The assumptions of point contacts and the unchanged configuration were supposed; the energy loss parameter and the friction parameter were employed for post velocities. Lee et al. [11] applied the coefficient of restitution to analyze the impact propagation of a docking platform for spacecrafts. Several investigators used kinematic constraint equations to describe contacts [1214]. Ghofranian et al. [4] used compliant models to simulate the contact/impact dynamics between the docking interfaces.

A flexible contact model defines a relation between deformations and contact forces, which is simple and easy to use. But this model needs the relation between the contact forces and deformation, which is not always fully clear for contact dynamics. If a flexible model is used, a large motion of a contact system accompanies a small deformation at contact areas, and a small deformation due to large stiffness leads to big contact forces which drive the system to move on. So, the time steps adopted by numerical methods have to be very small to distinguish the small deformation. If they are too big, the unstable phenomena such as sawtooth appear. Therefore, flexible models lack of efficiency for long-term prediction of systems. Since the docking dynamics of two APDSes may involve several contact points at the same time, it is even more inefficient if flexible contact models are considered. Rigid contact models do not need such force–deformation relations. The contact forces are solved by the impenetrability between contact bodies (also by friction laws). High efficiency can be achieved. But, they encounter some challenges such as impacts involving multiple contacts which couple simultaneously (multiple impacts) [1517], difficulty obtaining the constraint equations for general contacts exactly [18, 19], and Painlevé paradoxes [16, 2022], etc. All these difficulties are avoided by the flexible models at the cost of efficiency. Essentially, these two methods should share a great part of similarity of difficulties since all the dynamic equations for both methods satisfy the basic mechanical laws such as Newton’s laws or the variational principles. Deformation only decreases the intension of singularities. The limit of a kind of a flexible method is verified to converge to a rigid one under certain conditions when the system stiffness goes to infinity [23, 24]. In this article, a rigid model at contact areas is applied for the contact dynamics of the docking system. Since the contact areas are relatively small in comparison of the whole docking system, they are simplified as point contacts for either contact or impact.

Point contacts decrease systems’ freedoms if rigid models are applied. So, introducing kinetic constraints is a convenient way to describe any two parts keeping contact along their outer contours. Actually there are two moving contact points on the two bodies, so we call them a contact couple (Fig. 1). For simple problems, such as a disk contacting a fixed plane, it is easy to write out the explicit expression of the constraint equation only as the function of the generalized coordinates via a kinematical analysis. However, it is not always true for general cases, especially for the contacts of the complex contours of two APDSes. Studies on the formation of contact constraints can be dated back to Pars [25], who stated that one degree of freedom would be eliminated by the relative motion of a point contact between two rigid bodies. Except for the situation of a point moving along a spatial curve where two degrees of freedom are constrained, Pars’ claim suits the other cases of two bodies contacting at a single point. After that, this problem has been investigated thoroughly in the robotic community [2634], among which Montana is the most outstanding representative. However, although their theories are successful, their drawbacks are obvious. Montana’s equation is related to the curvatures and the relative velocity at a contact point rather than the generalized coordinates, velocities and accelerations of contact systems to satisfy the controlling requirements of dexterous robot systems, which goes against incorporating contact constraints into dynamic equations of systems. Pfeiffer et al. [18, 19] expressed the contact constraints at the velocity level by generalized coordinates and velocities to fit dynamic problems. In the view of the contour parameters included in the expression of the normal distance between two contacting bodies, they used the fact that the distance vector between the two potential contact points is the common normal at a contact couple to eliminate the parameters in the distance expression. Then Jordan’s principle was applied to incorporate of the constraints into the dynamic equations. But the previous studies only focused on a couple of scenarios of contact bodies with spatial surfaces or planar curves. They lack a general description for point contact kinematics between bodies with arbitrary geometric shapes. Zhen and Caishan [35] recently gave a general method by considering all the possible patterns of point contacts. They deduced their theory from the basic facts that the distance of a contact couple is zero and the involved bodies are tangential at it. Then, they obtained the equations governing the evolution of the contact parameters and the constraint equations for point contacts. Finally, they employed Jordan’s principle and d’Alembert–Lagrange principle for comparison to incorporate them via Lagrangian multipliers into the yielded dynamical equations. After the comparison of the formulations, they made clear the physical meaning of the Lagrange multipliers by Jordan’s principle.

Fig. 1
figure 1

Two bodies keeping contact form of a contact couple

However, using constraints is not suitable for impacts because the normal relative velocities at contact points are no more consistent with the constraints at the beginning of impacts. When a point impact happens between two bodies, one body exerts a concentrated impulsive force on the other. The configurations of the two bodies are assumed to be held constant with no significant variation. The normal impulse instead of time becomes the independent variable to dominate the impact. This approach was first proposed by Keller [36] who revisited the Routh’s graphical method [16] and formulated a three-dimensional differential method that resolved impact with friction. Subsequently, researchers extended this method to form universal formulations for general rigid body systems subject to one point impact with friction [37, 38]. But more complexities appear in multiple-impact problems. Impacts in the docking procedure may involve several contact couples at the same time, which is referred to multiple impacts, due the complex configuration of the APDS. For example, if a new impact at a new position appears while the old contacts still hold, multiple impacts occur. The combination of compliance models with rigid simplification is a fast and proper approach for solving such multiple-impact problems. However, different dynamic motions will be achieved if the stiffness ratios between different pairs of contact couples are different. Stewart used two examples such as the three masses problem and the rod–table example of Chatterjee to illustrate the significant effect of ‘relative stiffness’ among contact couples on the final impact solutions [17]. In an adequate consideration of the relative stiffness, Liu, Zhao and Brogliato [7, 39, 40] extended Keller’s approach and presented an LZB method for multiple-impact problems with friction. This helped them to discover a distributing law originating from flexible contact models at contact areas. The LZB method establishes the relationship among the normal impulses as functions of the stiffness and the potential energy at different contact couples involved in multiple impacts. If contact couples have same stiffness, the stiffness has no effect on the post velocities after impacts. With the help of the energy-based coefficient of restitution [41] for each contact couple, the post-impact velocities of impact systems can be determined uniquely. The existing experiments have verified the LZB method very well [40, 42, 43]. In this paper, the LZB method for multiple impacts with friction is applied on the capture phase of the docking dynamics.

Additionally, friction is usually essential in contact. Since Coulomb’s friction law can explain the existing experiments very well either with or without impact [40, 44], the tangential friction for contacts/impacts in this article is supposed to be subject to Coulomb’s friction law. The tangential compliance [41] during impacts is not considered in this paper.

This paper is arranged as follows: Sect. 2 introduces the configuration of the docking system. The uniform dynamics equations for contact dynamics of the docking system will be established in Sect. 3. Section 4 gives the parametric equations of the contact areas on one APDS thoroughly. Section 5 provides a seeking method for contact couples and defines the contact coordinates at these couples. Section 6 explains how to use the LZB method for impacts during the capture phase. The formation of contact constraints is introduced in Sect. 7. Section 8 provides the simulation framework for the docking system. And an example under a simple working condition is analyzed thoroughly in this section. At end the is paper, conclusions are drawn.

2 Main characteristics of a spacecraft docking system with two APDSes

2.1 Configuration of a docking system

Figure 2 depicts the configuration of a pair of APDSes equipped on the target and chaser spacecrafts when they are approaching and prepare to dock. The target spacecraft links with its APDS via a set of Stewart mechanism. Another APDS is fixed on the chaser spacecraft. The target spacecraft, the target’s APDS and the chaser spacecraft with its APDS are all taken as three spatial rigid bodies. Therefore, the docking system consists of three rigid bodies with 18 degrees of freedom before contact.

Fig. 2
figure 2

Two APDSes equipped on the target and chaser spacecrafts are approaching and prepare to dock

Under a global inertia orthogonal frame with three unit vectors \((\mathbf{i},\mathbf{j},\mathbf{k})\), the mass center position of the target spacecraft and its attitude Euler angles are denoted as \(q_{1}\), \(q_{2} \), \(q_{3} \), \(q_{4} \), \(q_{5} \), and \(q_{6}\), respectively. The body frame \((\mathbf{e}_{1,1},\mathbf{e}_{1,2},\mathbf{e}_{1,3})\) of the target spacecraft is fixed on its mass center. The mass center and Euler angles of its APDS relative to the target spacecraft are denoted as \(q_{7}\), \(q_{8} \), \(q_{9} \), \(q_{10} \), \(q_{11} \), and \(q_{12}\). The initial mass center without any deformation of the Stewart mechanism is \((a,b,c)\) under the body frame \((\mathbf{e}_{1,1},\mathbf {e}_{1,2},\mathbf{e}_{1,3})\). The body frame \((\mathbf{e}_{2,1},\mathbf {e}_{2,2},\mathbf{e}_{2,3})\) of the APDS is on the center of the guide ring, which is also supposed as the mass center of the APDS.

For the chaser spacecraft with its APDS, the corresponding variables are \(q_{13} \), \(q_{14} \), \(q_{15} \), \(q_{16} \), \(q_{17} \), \(q_{18}\), and its body frame \((\mathbf{e}_{3,1},\mathbf{e}_{3,2},\mathbf {e}_{3,3})\) is also on the mass center. For convenience, a body frame, \((\mathbf{e}_{4,1},\mathbf{e}_{4,2},\mathbf{e}_{1,3})\), is attached on the center of the chaser’s APDS, which is at position \((a_{1},b_{1}, c_{1})\) under the body frame \((\mathbf{e}_{3,1},\mathbf{e}_{3,2},\mathbf {e}_{3,3})\). All these positional and attitude variables are set to be the generalized coordinates \(\mathbf{q}\) for the docking system. The transfer matrix between these body frames and the inertial one can be expressed by the generalized coordinates. The transfer matrix from (\(\mathbf{e}_{1,1},\mathbf{e}_{1,2},\mathbf {e}_{1,3}\)) to (\(\mathbf{i},\mathbf{j},\mathbf{k}\)) can be expressed by

$$ \mathbf{A}_{1}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{4}&-\sin q_{4}&0\\ \sin q_{4}&\cos q_{4}&0\\ 0&0&1\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1&0&0\\ 0&\cos q_{5}&-\sin q_{5}\\ 0&\sin q_{5}&\cos q_{5}\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{6}&-\sin q_{6}&0\\ \sin q_{6}&\cos q_{6}&0\\ 0&0&1\\ \end{array}\displaystyle \right ]. $$
(1)

The transfer matrix from (\(\mathbf{e}_{2,1},\mathbf{e}_{2,2},\mathbf {e}_{2,3}\)) to (\(\mathbf{e}_{1,1},\mathbf{e}_{1,2},\mathbf{e}_{1,3}\)) can be expressed by

$$ \mathbf{A}_{21}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{10}&-\sin q_{10}&0\\ \sin q_{10}&\cos q_{10}&0\\ 0&0&1\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1&0&0\\ 0&\cos q_{11}&-\sin q_{11}\\ 0&\sin q_{11}&\cos q_{11}\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{12}&-\sin q_{12}&0\\ \sin q_{12}&\cos\phi q_{12}&0\\ 0&0&1\\ \end{array}\displaystyle \right ]. $$
(2)

The transfer matrix from (\(\mathbf{e}_{2,1},\mathbf{e}_{2,2},\mathbf {e}_{2,3}\)) to (\(\mathbf{i},\mathbf{j},\mathbf{k}\)) can be expressed by

$$ \mathbf{A}_{2}=\mathbf{A}_{1}\mathbf{A}_{21}. $$
(3)

The transfer matrix from (\(\mathbf{e}_{3,1},\mathbf{e}_{3,2},\mathbf {e}_{3,3}\)) to (\(\mathbf{i},\mathbf{j},\mathbf{k}\)) can be expressed by

$$ \mathbf{A}_{3}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{16}&-\sin q_{16}&0\\ \sin q_{16}&\cos q_{16}&0\\ 0&0&1\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1&0&0\\ 0&\cos q_{17}&-\sin q_{17}\\ 0&\sin q_{17}&\cos q_{17}\\ \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos q_{18}&-\sin q_{18}&0\\ \sin q_{18}&\cos q_{18}&0\\ 0&0&1\\ \end{array}\displaystyle \right ]. $$
(4)

The transfer matrix from (\(\mathbf{e}_{4,1},\mathbf{e}_{4,2},\mathbf {e}_{4,3}\)) to (\(\mathbf{i},\mathbf{j},\mathbf{k}\)) is the same as \(\mathbf{A}_{3}\).

2.2 Contact areas

In order to guide the chaser spacecraft to the preset relative position to the target one, each APDS has three guide petals and one guide ring. Each guide petal has one piece of outside guide surface with two segments of tilted guide sides (Fig. 2). The three guide petals are fixed on the APDS. Therefore, an APDS comprises 6 segments of tilted guide sides, 3 pieces of guide surfaces, and 1 inside circle of the guide ring, which restrict the motion of the other APDS. So, there are 10 patches of contact areas on each APDS. Contacts between two APDSes actually are the contacts between two patches among the \((10+10=)~20\) patches of contours on the two APDSes. These 20 patches of contours on both APDSes determine constraint equations when two of them keep contact at one point. These 20 patches of contours make 12 pairs of possible contact couples between the two APDSes. Therefore, their parametric equations need to be provided.

Each APDS has 6 segments of guide sides. Set \(n_{i}\) (\(i=1,\ldots,6\)) to be the number of them (see Fig. 3). The guide sides, \(n_{1}\), \(n_{2}\), \(n_{3}\), \(n_{4}\), \(n_{5}\), and \(n_{6}\), of the target’s APDS correspond to \(n_{5}\), \(n_{4}\), \(n_{3}\), \(n_{2}\), \(n_{1}\), and \(n_{6}\) of the chaser’s APDS, respectively, which form 6 pairs of possible contact patches as \((n_{1},n_{5})\), \((n_{2},n_{4})\), \((n_{3},n_{3})\), \((n_{4},n_{2})\), \((n_{5},n_{1})\), and \((n_{6},n_{6})\). Each pair of the possible contact patches determines one potential contact couple. If a potential contact couple closes, it makes a curve–curve contact (Type C–C).

Fig. 3
figure 3

The main geometric characteristics of APDS

Each APDS has 3 pieces of guide surfaces outside the three guide petals and one inside circle of the guide ring. See Fig. 3 for No. 1, No. 2 and No. 3 of the guide surfaces. One piece of the guide surface on an APDS may contact the guide circle on the other, which makes a curve–surface contact (Type C–S). Also 6 pairs of possible contact couples among the two guide circles and six pieces of guide surfaces exist.

In this paper, only these two types of the 12 pairs of the possible contact couples are considered and discussed. In addition, at most three pairs of sliding contacts exist at the same time for the docking system. So, redundant problems, if too many constraints added to systems, are not considered here.

3 Dynamic equations of the docking systems

Suppose the docking system has \(s\) (\(0\leq s\leq3\)) contact couples keeping contacts in the same time period when the two spacecrafts come to dock. According to the Lagrangian formulation, the dynamic equations can be expressed as

$$ \frac{d}{dt} \biggl(\frac{\partial L}{\partial\dot{q}_{i}} \biggr)- \frac {\partial L}{\partial q_{i}}=Q_{i}+\sum_{j=1}^{s}Q^{\lambda}_{ij} \quad (i=1,2,\dots,18), $$
(5)

where \(L=T-V\) is the Lagrangian function, \(Q^{\lambda}_{ij}\) is the \(i\)th generalized force for the \(j\)th contact and \(Q_{i}\) is the \(i\)th generalized force for other non-contact forces.

It is worth noticing that all the dynamic motions including non-contact movement, impacts, and contacts are dominated by Eq. (5). All the contact forces are zero if there is no contact, namely, \(Q_{ij}=0\) \((i=1,\dots,18)\) and \((j=1,\dots,s)\). The dynamic equations of impacts will be deduced from Eq. (5) later in Sect. 6.

3.1 Kinetic energy, potential energy and non-contact generalized forces

The docking system comprises three rigid bodies, the target spacecraft, the target spacecraft’s APDS, and the chaser spacecraft fixed with its APDS. The target spacecraft’s APDS is connected to the spacecraft with the Stewart mechanism, which is simplified as six sets of spring and damping elements. Since the generalized coordinates are the mass centers and Euler angles of the three bodies, the kinetic energy, the potential energy and the generalized forces can all be expressed as functions of the generalized coordinates and velocities.

The velocities at the three mass centers under the inertia frame (\(\mathbf{i},\mathbf{j},\mathbf{k}\)) can be written as

$$ \mathbf{v}_{c1}=[\dot{q}_{1},\dot{q}_{2},\dot{q}_{3}]^{T},\quad \quad \mathbf{v}_{c2}= \mathbf{v}_{c1}+\mathbf{A}_{1}[\dot{q}_{7},\dot{q}_{8},\dot{q}_{9}]^{T},\quad \quad \mathbf{v}_{c3}=[ \dot{q}_{13},\dot{q}_{14},\dot{q}_{15}]^{T}. $$
(6)

The rotational velocities of the three bodies under their body frames can be expressed as

$$ \mathbf{\omega}_{1}=\mathbf{B}_{1}\left [ \textstyle\begin{array}{l} \dot{q}_{4}\\ \dot{q}_{5}\\ \dot{q}_{6} \end{array}\displaystyle \right ],\quad \quad \mathbf{ \omega}_{2}=\mathbf{A}_{21}^{T}\mathbf{ \omega}_{1}+\mathbf{B}_{2}\left [ \textstyle\begin{array}{l} \dot{q}_{10}\\ \dot{q}_{11}\\ \dot{q}_{12} \end{array}\displaystyle \right ],\quad \quad \mathbf{\omega}_{3}=\mathbf{B}_{3} \left [ \textstyle\begin{array}{l} \dot{q}_{16}\\ \dot{q}_{17}\\ \dot{q}_{18} \end{array}\displaystyle \right ], $$

where

$$ \begin{aligned} &\mathbf{B}_{1}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \sin q_{5}\sin q_{6}&\cos q_{6}&0\\ \sin q_{5}\cos q_{6}&\sin q_{6}&0\\ \cos q_{5}&0&1\\ \end{array}\displaystyle \right ], \\ &\mathbf{B}_{2}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \sin q_{11}\sin q_{12}&\cos q_{12}&0\\ \sin q_{11}\cos q_{12}&\sin q_{12}&0\\ \cos q_{11}&0&1\\ \end{array}\displaystyle \right ], \\ &\mathbf{B}_{1}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \sin q_{17}\sin q_{18}&\cos q_{18}&0\\ \sin q_{17}\cos q_{18}&\sin q_{18}&0\\ \cos q_{17}&0&1\\ \end{array}\displaystyle \right ]. \end{aligned} $$

Therefore, the kinetic energy of the docking systems can be expressed as

$$ T=\frac{1}{2} (m_{1}\mathbf{v}_{c1}\cdot \mathbf{v}_{c1}+m_{2}\mathbf {v}_{c2}\cdot \mathbf{v}_{c2}+m_{3}\mathbf{v}_{c3}\cdot\mathbf {v}_{c3}) +\frac{1}{2}\sum_{i=1}^{3} \bigl(\mathbf{\omega}_{i}^{T}\mathbf{G}_{i}\mathbf {\omega}_{i} \bigr), $$
(7)

where \(m_{1}, \mathbf{G}_{1}\), \(m_{2},\mathbf{G}_{2}\), and \(m_{3},\mathbf{G}_{3}\) are the masses and the inertial matrixes of the target spacecraft, its APDS, and the chaser spacecraft, respectively. And the inertia matrixes are taken as

$$ \mathbf{G}_{1}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} I_{11}&0&0\\ 0&I_{12}&0\\ 0&0&I_{12}\\ \end{array}\displaystyle \right ],\quad \quad \mathbf{G}_{2}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} I_{21}&0&0\\ 0&I_{22}&0\\ 0&0&I_{22}\\ \end{array}\displaystyle \right ], \quad \quad \mathbf{G}_{3}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} I_{31}&0&0\\ 0&I_{32}&0\\ 0&0&I_{33}\\ \end{array}\displaystyle \right ]. $$
(8)

In this paper, the Stewart mechanism is simplified as being six sets of spring and damping elements, the potential energy is produced by the springs. So, a very simple spring and damping model without considering much physical significance is selected as

$$\begin{aligned} V =&\frac{1}{2}k_{1}(q_{7}-a)^{2}+\frac{1}{2}k_{2}(q_{8}-b)^{2}+\frac{1}{2}k_{3}(q_{9}-c)^{2} \\ &{} + \frac{1}{2}k_{t1}(q_{10})^{2}+\frac{1}{2}k_{t2}(q_{11})^{2}+\frac{1}{2}k_{t3}(q_{12})^{2}, \end{aligned}$$
(9)

where \((a,b,c)\) is the equilibrium position of the APDS relative to its target spacecraft, and \(k_{i}\) and \(k_{ti}\), where \(i=1,2,3\), are the translational and rotational stiffnesses of the Stewart mechanism.

The damping elements provide the generalized forces. Under the inertial frame, the damping forces and moments from the target spacecraft to its APDS are expressed as

$$ \mathbf{F}_{d}=-\mathbf{A}_{1}[c_{1}\dot{q}_{10},c_{2}\dot{q}_{11},c_{3}\dot{q}_{12}]^{T}, \quad \quad \mathbf{M}_{d}=-\mathbf{C}_{t} (\mathbf{A}_{2}\mathbf{\omega}_{2}-\mathbf {A}_{1}\mathbf{\omega}_{1} ), $$

where the damping coefficients are expressed in a matrix form as

$$ \mathbf{C}_{t}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} c_{t1}&0&0\\ 0&c_{t2}&0\\ 0&0&c_{t3} \end{array}\displaystyle \right ]. $$
(10)

According to Newton’s action and reaction principle, the damping forces and moments acting from the APDS to its spacecraft are \(-\mathbf{F}_{d}\) and \(-\mathbf{M}_{d}\). The acting positional vector on the spacecraft under the inertia frame is \([x,y,z]^{T}+\mathbf{A}_{1}[a,b,c]^{T}\) and the corresponding positional vector on the APDS is supposed on the center \([q_{7},q_{8},q_{9}]^{T}\). Therefore, the generalized forces of the damping interaction can be obtained as

$$\begin{aligned} Q_{q_{1}} =&-F_{d}^{T}\cdot[1,0,0]^{T},\quad \quad Q_{q_{2}}=-F_{d}^{T}\cdot[0,1,0]^{T},\quad \quad Q_{q_{3}}=-F_{d}^{T}\cdot[0,0,1]^{T}, \\ Q_{q_{4}} =& -\bigl(\mathbf{A}_{1}[a,b,c]^{T}\times\mathbf{F}_{d}+\mathbf {M}_{d} \bigr)^{T}\cdot[0,0,1]^{T}, \\ Q_{q_{5}} =& -\bigl(\mathbf{A}_{1}[a,b,c]^{T}\times\mathbf{F}_{d}+\mathbf {M}_{d} \bigr)^{T}\cdot[\cos q_{4},\sin q_{4},0]^{T}, \\ Q_{q_{6}} =& -\bigl(\mathbf{A}_{1}[a,b,c]^{T}\times\mathbf{F}_{d}+\mathbf {M}_{d} \bigr)^{T}\cdot[\sin q_{5}\sin q_{4},-\sin q_{5}\cos q_{4},\cos q_{5}]^{T}, \\ Q_{q_{7}} =&F_{d}^{T}\cdot\bigl(\mathbf{A}_{1}[1,0,0]^{T}\bigr),\quad \quad Q_{q_{8}}=F_{d}^{T} \cdot \bigl(\mathbf{A}_{1}[0,1,0]^{T}\bigr), \\ Q_{q_{9}} =&F_{d}^{T}\cdot\bigl(\mathbf{A}_{1}[0,0,1]^{T}\bigr), \quad \quad Q_{q_{10}}=\mathbf{M}_{d}^{T}\cdot\bigl(\mathbf{A}_{2}[0,0,1]^{T}\bigr), \\ Q_{q_{11}} =&\mathbf{M}_{d}^{T}\cdot\bigl(\mathbf{A}_{2}[\cos q_{10},\sin q_{10},0]^{T}\bigr), \\ Q_{q_{12}} =&\mathbf{M}_{d}^{T}\cdot\bigl(\mathbf{A}_{2}[\sin q_{11}\sin q_{10},-\sin q_{11}\cos q_{10},\cos q_{11}]^{T}\bigr). \end{aligned}$$

The other non-contact generalized forces are zeroes. In this paper, driving forces during the docking procedure are supposed to be zero.

3.2 Generalized contact forces

At the \(j\)th contact couple, a contact coordinate frame is established as \(\mathbf{n}_{j},\mathbf{\tau}_{1,j},\mathbf{\tau}_{2,j}\) which will be discussed thoroughly at Sect. 5.2. The point vectors of the contact couple under the inertia frame are denoted as \(\mathbf {r}_{1,j}\) on the chaser’s APDS and \(\mathbf{r}_{2,j}\) on the target’s APDS. Then, the generalized forces for \(j\)th contact couple can be expressed as

$$ Q^{\lambda}_{ij}=W_{ij}^{1} \lambda^{1}_{j}+W_{ij}^{2} \lambda^{2}_{j}+W_{ij}^{3} \lambda^{3}_{j}, $$
(11)

where

$$\begin{aligned} W_{ij}^{1} =&\frac{\partial(\mathbf{r}_{1,j}-\mathbf{r}_{2,j})}{\partial q_{i}}\cdot\mathbf{ \tau}_{1,j}^{j}, \\ W_{ij}^{2} =&\frac{\partial(\mathbf{r}_{1,j}-\mathbf{r}_{2,j})}{\partial q_{i}}\cdot\mathbf{ \tau}_{2,j}^{j}, \\ W_{ij}^{3} =&\frac{\partial(\mathbf{r}_{1,j}-\mathbf{r}_{2,j})}{\partial q_{i}}\cdot\mathbf{n}_{j}, \end{aligned}$$

where \(\lambda^{i}_{j}\), \(i=1,2,3\), \(j=1,\dots,s\) are the components of the contact force under the contact frame \((\mathbf{\tau}_{1,j}, \mathbf {\tau}_{2,j}, \mathbf{n}_{j})\). Contact forces are unknown and are to be determined. In the following sections, we will show how to obtain the contact vectors \(\mathbf{r}_{1,j}\) and \(\mathbf{r}_{2,j}\), seek contact couples, and establish the contact frames at the couples.

4 Point vectors from the inertial origin to contact areas

The possible contacts of the docking system are the contacts of the guide sides to the guide sides or the guide surfaces to the guide rings. In order to obtain the vector functions \(\mathbf{r}_{1,j}\) and \(\mathbf{r}_{2,j}\) in Eq. (11), we focus a point in a contact patch belonging to an APDS. The patch may be a segment of a spatial curve (a guide side or the ring circle) or a piece of the guide surface.

Definition 1

A coordinate patch \(S_{0}\) for a contour \(S\subset \mathbb{R}^{3}\) is an open, connected subset of \(S\), namely \(S_{0}\subseteq S\). There exists an open subset \(U\subset\mathbb{R^{\beta}}\) (\(\beta=1\mbox{ or }2\)) and an invertible map \(f:U\rightarrow S_{0}\) such that the pair \((f,U)\) can be taken as a coordinate system for \(S_{0}\).

4.1 Contact patches on an APDS

4.1.1 The parametric equations of the three pieces of the guide surfaces

The three pieces of the guide surfaces outside three guide petals of the APDS are obtained by dividing a circle cone standing on the surface of the guide ring via 6 auxiliary planes parallel to the axis of the APDS. Each auxiliary plane is perpendicular to the upper surface of the guide ring, and the projection of an auxiliary plane to the upper surface forms a line on the ring surface. Each line has an angle \(\alpha _{2} =30^{\circ}\) with the corresponding radius line (see the left part of Fig. 3). The numbers \(1, 2, 3\) in the figure mark the three patches. According to Definition 1, the map for the three pieces of the guide surfaces can be expressed as

$$ f(i) \bigl( U(i)\rightarrow S_{0}(i)\bigr): \rho=R-\zeta\cot\alpha_{1},\quad (i=1,2,3), $$
(12)

where \((i)\) denotes the \(i\)th piece of the three guide surfaces, \([\theta,\zeta]\in U\) and \([\rho,\theta,\zeta]\in S_{0}\). The parameter \(\alpha_{1}\) is the angle between the generatrix and the bottom plane of the cone and \(\alpha_{1}=45^{\circ}\) in Fig. 3. The outside radius of the guide ring of the APDS is \(R\). Since these pieces of the guide surfaces belong to the different parts of the cone, their parametric domains \(U(i)\) (\(i=1,2,3\)) are respectively confined in

$$ \begin{aligned} &U(1):\ \bigl\{ \theta(1)\in[ \theta_{1},\theta_{2}],\zeta(1)\in[0,H]\bigr\} , \\ &U(2):\ \biggl\{ \theta(2)\in\biggl[\theta_{1}+\frac{2}{3}\pi, \theta_{2}+\frac{2}{3}\pi \biggr],\zeta(2)\in[0,H]\biggr\} , \\ &U(3):\ \biggl\{ \theta(3)\in\biggl[\theta_{1}+\frac{4}{3}\pi, \theta_{2}+\frac{4}{3}\pi \biggr],\zeta(3)\in[0,H]\biggr\} , \end{aligned} $$
(13)

where \((*)\) denotes the number of a guide surface and there are three petals for each APDS. The height of the guide petal is denoted as \(H\). Each guide surface is sandwiched by two auxiliary planes, so the parameters \(\theta_{1}\) and \(\theta_{2}\) are defined as

$$\begin{aligned} \theta_{1} =&\arcsin \biggl(\frac{R_{k}}{R_{k}-\zeta\cot\alpha_{1}}\sin\alpha _{2} \biggr)-\alpha_{2}, \\ \theta_{2} =&\biggl(\alpha_{2}+\frac{\pi}{3} \biggr)- \arcsin \biggl(\frac {R_{k}}{R_{k}-\zeta\cot\alpha_{1}}\sin\alpha_{2} \biggr). \end{aligned}$$

Therefore, each guide surface can be parameterized by two parameters \([\theta,\zeta]\) and \(U\subset \mathbb{R}^{2}\).

4.1.2 Parametric equations of the three pairs of the guide sides

Each guide petal has two guide sides which are just intersections of the outside surface of the cone with its two auxiliary planes mentioned above. Therefore, under the body frame fixed on the APDS, the maps for the six guide sides can be written as

$$ f(i) \bigl( U(i)\rightarrow S_{0}(i)\bigr): \left\{ \begin{aligned} &\rho=\tfrac{R (\cos (\frac{\pi}{3}(i-1))\tan\alpha(i)-\sin (\frac{\pi}{3}-1 ) )}{\cos\theta\tan\alpha(i)-\sin\theta} \\ &\zeta=(R-\rho)\tan\alpha_{1}, \end{aligned} \right.\quad (i=1,2,\dots,6), $$
(14)

where \((i)\) denotes the \(i\)th guide side corresponding to \(n_{1},n_{2},\dots,n_{6}\), respectively, in Fig. 3. According to Definition 1, \(\theta\in U\) and \([\rho,\theta,\zeta]\in S_{0}\). The parameters \(\alpha(i)\) in (14) are defined as

$$\begin{aligned} & \alpha(1)=\pi-\alpha_{2};\qquad\alpha(2)=\pi/3+\alpha_{2};\qquad\alpha(3)=\pi /3+\alpha_{2}; \\ & \alpha(4)=\alpha_{2}; \qquad\alpha(5)=\pi/3-\alpha_{2}; \qquad\alpha(6)=2\pi/3+\alpha_{2}. \end{aligned}$$

The parametric domains of the six guide sides can be obtained by

$$ U(i):\bigl\{ \theta(i)\in \bigl[(i-1)\pi/3-\mathrm{mod}(i-1,2) \theta_{r},(i-1)\pi /3-\mathrm{mod}(i-1,2)\theta_{r} \bigr] \bigr\} , $$
(15)

where \(\mathrm{mod}(a,b)\) is the function of finding the remainder after division \(a/b\), and

$$\begin{aligned} \theta_{r}=\frac{H\cot\alpha_{1}\sin\alpha_{2}}{R-H\cot\alpha_{1}\cos\alpha_{2}}. \end{aligned}$$

Therefore, each guide side can be parameterized by one parameter \(\theta \) and \(U\in\mathbb{R}^{1}\).

4.1.3 The parametric equations for the inside circle of the guide ring

The inside circle of the guide ring on one APDS confines the motions of the guide petal on the other APDS. The parametric equations of the inside circle of the guide ring can be written under the body frame as

$$ f(U\rightarrow S_{0}):\rho=R_{s},\quad \zeta=0, $$
(16)

where \(\theta\in U\) and \([\rho,\theta,\zeta]\in S_{0}\) according to Definition 1. The parameter \(R_{s}\) is the inside radius of the guide ring, and the parametric domain is obviously given as

$$ U:\ \bigl\{ \theta\in[0,2\pi]\bigr\} . $$
(17)

Therefore, the guide ring can be parameterized by one parameter \(\theta \) and \(U\in\mathbb{R}^{1}\).

4.2 The position vector of any point on a contacting patch under the inertia frame

The radius vector of the mass center of the concerned APDS is set to be \(\mathbf{r}_{O}(\mathbf{q})\) which may be

$$ \mathbf{r}_{O}(\mathbf{q})=[q_{1},q_{2},q_{3}]^{T}+ \mathbf{A}_{1}[q_{7},q_{8},q_{9}]^{T}, $$
(18)

if the target’s APDS is concerned, or

$$ \mathbf{r}_{O}(\mathbf{q})=[q_{13},q_{14},q_{15}]^{T}+ \mathbf{A}_{3}[a_{1},b_{1},c_{1}]^{T}, $$
(19)

if the chaser’s APDS is concerned.

The transfer matrix from the inertia frame to the body frame of the APDS is supposed to be \(A(\mathbf{q})\) which is any one of \(\mathbf {A}_{2}\) and \(\mathbf{A}_{3}\) in (3) and (4). Suppose the body frame of the APDS is \(O\mathbf{e}_{1}\mathbf{e}_{2}\mathbf{e}_{3}\) (Fig. 3) and the corresponding coordinate parameters are \([\xi,\eta,\zeta]\). If a point \(\mathbf{p}\in S_{0}\), an element \(\mathbf{u}\in U\) corresponds to it according to the maps discussed in Eqs. (12), (14) and (16). The radius vector under the inertia frame can be expressed as

$$ \mathbf{r}(\mathbf{q},t,\mathbf{u})=\mathbf{r}_{O}( \mathbf{q},t)+\mathbf {A}(\mathbf{q})\mathbf{r'}(\mathbf{u}), $$
(20)

where

$$ \mathbf{r'}(\mathbf{u})=[\rho\cos\theta,\rho\sin\theta, \zeta]^{T}. $$

If the patch is a guide side or a guide circle of the APDS, \(\mathbf {u}\) has one element \({\theta}\). But if the patch is a guide surface, \(\mathbf{u}\) has two elements, \([\theta,\zeta]\).

4.3 Point vectors of a contact couple

It is mentioned in Sect. 2.2 that two types of contacts exist. One is the C–C type and the other is the C–S type. We have also mentioned that there are 12 pairs of possible contact couples. Among the two types of contacts, one point of a contact couple is defined to be always on a segment of curve which may be a segment of the guide side or the guide circle. In order to sort two bodies which contact to form a contact couple and simplify the description in the following sections, we define the curve to be always on Body 1. Body 2 may have a curve or a surface. Therefore, suppose there are \(s\) contact couples at the current moment on the docking system. Select a curve segment from the two patches which contact to form the \(j\)th contact couple, and the contact point on the curve makes a point vector \(\mathbf {r}_{1,j}\) by (20). The other point of the contact couple produces \(\mathbf{r}_{2,j}\):

$$ \begin{aligned} \mathbf{r}_{1,j}\bigl(\mathbf{q},\mathbf{u}_{1,j}^{*}\bigr)&=\mathbf {r}_{1,j}\bigl(\mathbf{q},u_{1,j}^{*}\bigr), \\ \mathbf{r}_{2,j}\bigl(\mathbf{q},\mathbf{u}_{2,j}^{*}\bigr)&=\mathbf {r}_{1,j}\bigl(\mathbf{q},\bigl(u_{2,j}^{*},\dots,u_{n,j}^{*}\bigr)\bigr), \end{aligned} $$
(21)

where \(\mathbf{u}_{1,j}\) only has one element, \(u_{1,j}\), and \(\mathbf {u}_{2,j}\) may have one or two elements, namely \(n=2\) or \(n=3\). The \(j\)th contact couple is parameterized by \(\mathbf {u}^{*}_{j}=({u}_{1,j}^{*},\dots,u_{n,j}^{*})\).

In the following sections, we will show you how to obtain the \(j\)th contact couple at the beginning of the contact and how the contact couple evolves with the variation of \(\mathbf{u}^{*}_{j}\) if the contact holds.

5 Seeking (potential) contact couples and defining contact frames at the beginning of a contact couple

5.1 Fast discrete method to seek (potential) contact couples

At the beginning of a contact, exactly before an impact occurs, the contact couple where the impact occurs should be sought. For this problem, Flore made a thorough investigation and the good work [9].

As two bodies transition from being contactless to making contact, the potential contact couple should be especially important. At each moment \(t\), only one potential contact couple exists on the relevant pair of two patches. The potential contact couple comprises the two points between which the distance \(L_{j}=\vert \mathbf{r}_{1,j}-\mathbf {r}_{2,j}\vert \) is minimal. Since there are infinitely many points on the contours of the two concerning patches, infinitely many point couples need to be searched for the minimum, which means a great amount of work needs to be done in a numerical simulation. In this article, we define a hierarchical tree on a discrete grid of possible contact to seek the potential contact couple at each moment fast and efficiently.

The seeking strategy for the potential contact couple can be sketched by Fig. 4. First, we select a not so small discrete step unit (for example, about \(1/10\) scale of concerned area) to discretize the parameters \(\mathbf{u}_{1,j}\) and \(\mathbf{u}_{2,j}\) and find the minimum couple among these discrete points, denoted as \(\mathbf {u}_{1,j}'\) and \(\mathbf{u}_{2,j}'\); see the step length between ‘⋅’ in Fig. 4. Second, we choose a discrete unit an order of magnitude smaller to discretize the fields near the couple points, \(\mathbf{u}_{1,j}'\) and \(\mathbf{u}_{2,j}'\). The areas of the parametric field are set to be two units of the discrete scale of the first step; see the step length between ‘|’ in Fig. 4. Then we seek this field for a more accurate parametric values of the minimum couple. Repeating the search again and again for several times, we achieve accurate positions of the potential contact couple, \(\mathbf {u}^{*}_{j}=(\mathbf{u}_{1,j}^{*},\mathbf{u}_{2,j}^{*})\). Although this method is not the simplest one for two smooth pieces of a surface, it can be applied to the cases where the contact bodies feature any contour surfaces.

Fig. 4
figure 4

A 2D circle-to-circle example to demonstrate the seeking strategy for the potential contact couple, \((\mathbf{u}_{1}^{*},\mathbf {u}_{2}^{*})\), between Body 1 and Body 2

5.2 Define contact frames

At a contact couple, \(\mathbf{r}_{1,j}(\mathbf{q},\mathbf{u}^{*}_{1,j})\) and \(\mathbf{r}_{2,j}(\mathbf{q},\mathbf{u}^{*}_{2,j})\), the contact frame can be defined as

Definition 2

Define a contact frame at the \(j\)th contact couple as \((\mathbf{\tau}_{1,j},\mathbf{\tau}_{2,j},\mathbf{n}_{j})\). The common unit normal \(\mathbf{n}_{j}\) from Body 2 pointing to Body 1 at the contact couple satisfies

$$ \mathbf{n}_{j}\cdot\frac{\partial\mathbf{r}_{1,j}}{\partial u_{1,j}}\bigg|_{\mathbf{u}_{1,j}=\mathbf{u}_{1,j}^{*}}=0, \quad \mbox{and}\quad \mathbf{n}_{j}\cdot\frac{\partial\mathbf{r}_{2,j}}{\partial u_{2,j}}\bigg|_{\mathbf{u}_{2,j}=\mathbf{u}_{2,j}^{*}}=0, \quad (j=2,\dots,n), $$
(22)

accompanied by two orthogonal unit vectors, \(\mathbf{\tau}_{1,j}\) and \(\mathbf{\tau}_{2,j}\), in the tangential plane which is perpendicular to \(\mathbf{n}_{j}\).

This contact frame can be always established at contact couples due to contact bodies being tangent at their point contacts.

Define the relative velocity at the \(j\)th contact couple as

$$ \mathbf{v}_{j}^{r}\bigl(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j}\bigr)=\sum_{k=1}^{18} \frac{\partial(\mathbf{r}_{1,j}-\mathbf{r}_{2,j})}{\partial q_{k}}{\bigg|_{\mathbf{u}_{j}^{*}}}\dot{q}_{k} . $$
(23)

Under the \(j\)th contact frame defined by Definition 2, we can define the relative velocities at the corresponding contact couple as

$$ \left \{ \textstyle\begin{array}{l} {v}_{1,j}^{r}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j})=\mathbf{v}_{j}^{r}\cdot\mathbf{\tau}_{1,j}, \\ {v}_{2,j}^{r}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j})=\mathbf{v}_{j}^{r}\cdot\mathbf{\tau}_{2,j}, \\ v_{3,j}^{r}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j})= \mathbf{v}_{j}^{r} \cdot\mathbf{n}_{j}, \end{array}\displaystyle \right . $$
(24)

with the tangential relative velocity vector also defined by

$$ \mathbf{v}_{\tau,j}^{r}=\mathbf{v}_{j}^{r}-v_{3,j}^{r} \mathbf{n}_{j}. $$
(25)

6 Multiple impacts

6.1 The LZB method for multiple impacts

Impacts involving more than one contact couple at the same time are referred to as multiple impacts. It is quite possible that several contact couples exit at the same impact period for the docking system. If some contact couples are active and another potential couple turns active during a docking procedure, multiple impacts occur. General impact theory assumes that the involved contact forces are so large that none of the impulse forces can be ignored and the impact duration is so small that the configuration can hardly change during impacts [7, 10]. Suppose multiple impacts occur in an interval \([t^{-},t^{+}]\) involving \(s\) contact couples. By the impact assumption, we integrate the dynamic equations (5) in an infinitesimal interval \(dt\) and eliminate the regular terms at the same time. Then, we change the dynamic equations from the two-ordered ODEs dependent on time \(t\) to the one-ordered ODEs dependent on the normal impulses at the contact couples as

$$ \sum_{k=1}^{18}a_{ik}\,d\dot{q}_{k}=\sum_{j=1}^{s}\bigl(W_{ij}^{1}\,dP^{1}_{j}+W_{ij}^{2}\,dP^{2}_{j}+W_{ij}^{3}\,dP^{3}_{j}\bigr)\quad(i=1,2,\dots,18), $$
(26)

where \(a_{ij}\) is an element of the generalized mass matrix which is derived from the kinetic energy \(T\) by the symbolic computation, and \(dP^{i}_{j}=\lambda^{i}_{j}\,dt\) for all the contact forces. During the impacts, Coulomb’s frictional law is supposed to dominate the tangential motion [40, 44]. So the increments of tangential impulses \((dP^{1}_{j},dP^{2}_{j})\) are dependent on the normal one, \(dP^{3}_{j}\), and the micro stick–slip motion at contact couples. For the \(j\)th contact couple, one has

$$ \left\{ \textstyle\begin{array}{l@{\quad}l} \frac{dP^{k}_{j}}{dP^{3}_{j}}=-\mu\frac{v_{k,j}^{r}}{\vert \mathbf{v}_{\tau,j}^{r}\vert },& \mbox{if } \mathbf{v}_{\tau,j}^{r}\neq\mathbf{0}, \\ \mathbf{v}_{\tau,j}^{r}=\mathbf{0},& \mbox{if }\sqrt{\biggl(\frac{dP^{1}_{j}}{dP^{3}_{j}} \biggr)^{2}+ \biggl(\frac{dP^{2}_{j}}{dP^{3}_{j}}\biggr)}\leq\mu _{s}, \end{array}\displaystyle \right.\quad(k=1,2), $$
(27)

where the dynamic and static coefficients of friction are set to be \(\mu\) and \(\mu_{s}\), respectively.

Although the frictional impulses depend on the normal impulses, there are still \(s\) normal impulses, \(dP^{3}_{j}\) (\(j=1,2,\dots,s\)), all undetermined. The distributional law [7, 39] is applied here to establish the relationships between the increments of the normal impulses. According to the LZB method, we suppose that the normal impact model for each impact couple is satisfied with

$$ \lambda_{j}^{3}=K_{j}( \delta_{j})^{\eta_{j}}, $$
(28)

where \(K_{j}\) is the contact stiffness and the exponent \(\eta_{j}>0\) is the power of the normal deformation at the \(j\)th contact couple. The contact normal indentation is denoted by \(\delta_{j}\) which is determined by the system’s configuration and is a function of \(\vec{q}\) and \(t\).

It is obvious that (28) defines the relationships between contact normal forces. But they will not be used directly because of the large contact forces, \(\lambda_{j}^{n}\), which depend on small indentation \(\delta_{j}\), that may induce numerical singularities [5]. We use simple deduction, namely, we put (28) into the normal potential energy \(E_{j}=\int^{\delta _{j}(t)}_{0}\lambda^{3}_{j}\,d\delta_{j}\) to obtain \(\delta_{j}= ((\eta_{j}+1 )/K_{j} E_{j})^{1/(\eta_{j}+1)}\), which is input into (28) again, and remember that \(dP_{j}=\lambda_{j}^{3}\,dt\), so the normal impulse ratios are established as follows:

$$ \frac{dP^{3}_{j}}{dP^{3}_{i}}=\frac{(\eta_{j}+1)^{\frac{\eta_{j}}{\eta_{j}+1}}}{(\eta _{i}+1)^{\frac{\eta_{i}}{\eta_{i}+1}}} \frac{K_{j}^{\frac{1}{\eta_{j}+1}}}{K_{i}^{\frac{1}{\eta_{i}+1}}} \frac{E_{j}^{\frac{\eta_{j}}{\eta_{j}+1}}}{E_{i}^{\frac{\eta_{i}}{\eta_{i}+1}}}, $$
(29)

where \(i,j=1,2,\dots,s\) and \(i\ne j\). We also refer to [7] for this deduction. The normal impulse ratios are related to the ratios of the contact stiffnesses and the potential energy accumulated at contact couples. The parameter \(E_{j}\) denotes the accumulated potential energy at the \(j\)th contact couple, which can be written as

$$ E_{j}=\int^{\delta_{j}(t)}_{0} \lambda^{3}_{j}\,d\delta_{j}=E_{j}\bigl(t^{-} \bigr)+\int^{P^{3}_{j}}_{0}\dot{\delta}_{j}\,dP^{3}_{j}, $$
(30)

where \(E_{i}(t^{-})\) is the initial potential energy due to the contact force at the initial impact moment \(t^{-}\) and

$$ \dot{\delta}_{j}\bigl(\mathbf{q}, \dot{\mathbf{q}}, \mathbf {u}^{*}_{j}\bigr)=-v_{3,j}^{r}\bigl( \mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j}\bigr). $$
(31)

If the contact models (28) at the \(i\)th and \(j\)th contact couples are the same, namely \(K_{i}= K_{j}\) and \(\eta_{i}=\eta_{j}=\eta \), we have the simple impulse ratios as

$$\biggl(\frac{dP^{3}_{j}}{dP^{3}_{i}}\biggr)=\biggl(\frac{E_{j}}{E_{i}}\biggr)^{\eta_{j}/(\eta_{j}+1)}, $$

which are only determined by the ratios of the accumulated potential energy.

Equations (29) establish the normal impulse ratios among different contact couples at each moment during multiple impact. Now the biggest normal impulse increment denoted by \(dP^{\star}\) is selected as an independent variable instead of time \(t\) in multiple impact. Using this biggest normal impulse increment \(dP^{\star}\), the impulse ratios (29) are rewritten as

$$ \frac{dP^{3}_{j}}{dP^{\star}_{j}}=\frac{(\eta_{j}+1)^{\frac{\eta_{j}}{\eta _{j}+1}}}{(\eta^{\star}_{j}+1)^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}} \frac{K_{j}^{\frac{1}{\eta_{j}+1}}}{(K^{\star})^{\frac{1}{\eta^{\star}_{j}+1}}} \frac{E_{j}^{\frac{\eta_{j}}{\eta_{j}+1}}}{(E^{\star}_{j})^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}}. $$
(32)

Such a definition can avoid singularity if the denominator \(dP^{3}_{j}=0\) in (29). Usually, the \(dP^{\star}_{j}\) is just at the contact couple with the biggest potential energy if stiffness \(K_{j}\) and the power \(\eta_{j}\) in the contact couples do not vary too much. Notice that the contact couple with the biggest potential energy varies among the contact couples involving multiple impacts. Now that \(P^{\star}_{j}\) is defined as the independent variable, the step increment of \(dP^{\star}_{j}\) is proposed the same during multiple impacts. It is really interesting to find that since the biggest impulse increment occurs at the contact couple where the accumulated normal potential energy is the biggest, such a definition also discovers the discipline for the transfer and exchange of mechanical energy during multiple impacts: The multiple impact dynamics are dominated by the contact couple which possesses the biggest potential energy.

Another issue to be mentioned here is that all \(E_{j}\) may be zero at the beginning of a multiple impact time, \(t^{-}\). Therefore, (32) cannot be used directly because \(E^{\star}_{j}\) is zero at this moment. At the beginning of a multiple impact, the ratios of potential energy will be valued by the limit from the right as

$$ \frac{E_{j}^{\frac{\eta_{j}}{\eta_{j}+1}}}{(E^{\star}_{j})^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}}\Bigg|_{t^{-}} =\frac{(\dot{\delta}_{j}(t^{-})\,dP^{3}_{j})^{\frac{\eta_{j}}{\eta_{j}+1}}}{(\dot{\delta}^{\star}_{j}(t^{-})\,dP^{\star}_{j})^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}}, $$
(33)

where denotes the contact couple whose normal relative velocity \(\dot{\delta}\) is the maximum.

Putting (33) into (29), we have

$$ \frac{ (dP^{3}_{j} )^{\frac{1}{\eta_{j}+1}}}{ (dP^{\star}_{j} )^{\frac{1}{\eta^{\star}_{j}+1}}}\Bigg|_{t_{0}^{-}} =\frac{(\eta_{j}+1)^{\frac{\eta_{j}}{\eta_{j}+1}}}{(\eta^{\star}_{j}+1)^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}} \frac{K_{j}^{\frac{1}{\eta_{j}+1}}}{(K^{\star})^{\frac{1}{\eta^{\star}+1}}} \frac{(\dot{\delta}_{j}(t_{0}))^{\frac{\eta_{j}}{\eta_{j}+1}}}{(\dot{\delta}^{\star}_{j}(t_{0}))^{\frac{\eta^{\star}_{j}}{\eta^{\star}_{j}+1}}}. $$
(34)

Although (34) is not the ratio between \(dP^{3}_{j}/dP^{\star}_{j}\), it is sufficient because \(dP^{\star}_{j}\) is independent. If \(dP^{\star}_{j}\) is assigned a value, a determined value of \(dP^{3}_{j}\) can be obtained.

In the end, the differential impact equations (26) can be rewritten by dividing \({dP^{\star}}_{j}\) on both sides of the equation:

$$ \sum_{j=1}^{n}a_{i,j} \frac{d\dot{q}_{j}}{dP^{\star}_{j}}=\sum_{j=1}^{s} \biggl(W_{ij}^{1}\frac{dP^{1}_{j}}{dP^{\star}_{j}}+W_{ij}^{2} \frac{dP^{2}_{j}}{dP^{\star}_{j}}+W_{ij}^{3}\frac{dP^{3}_{j}}{dP^{\star}_{j}} \biggr), $$
(35)

which depends on the independent variable \(P^{\star}_{j}\).

However, the impact differential equations (35) only provide the routine of multiple-impact procedure and they do not tell when impacts end. In consideration of mechanical energy dissipation which is represented by energetic coefficients of the restitution [41] \(e_{j}\) at each contact couple, one has

$$ e_{j}^{2}=-\frac{W_{j}^{r}}{W_{j}^{c}}=- \frac{\int_{P^{3}_{j}(t_{c})}^{P^{3}_{j}(t^{+})}\dot{\delta}_{j}\,dP^{3}_{j}}{\int_{0}^{E_{j}(t^{-})+P^{3}_{j}(t_{c})}\dot{\delta}_{j}\,dP^{3}_{j}}, $$
(36)

where \(W_{j}^{r}\ge0\) and \(W_{j}^{c}\ne0\) are the work done by the normal contact force at the \(j\)th contact couple during compression phase \([t^{-},t_{c}]\) and expansion phase \([t_{c},t^{+}]\), respectively.

When the potential energy satisfies the coefficient of restitution at a certain contact couple, the impact at this contact couple ends temporally. But the whole multiple-impact may not end. In some cases, certain contact couples may turn to impact again after they are inactive, which are called as repeating impacts. When all the multiple impacts end, namely when for each contact couple the part of the reserved potential energy has restituted in accordance to its coefficient of restitution, the multiple-impact procedure finally comes to an end. A detailed description of how to use the LZB method with friction can be found in [40].

7 Contact constraints for point contacts

When the two APDSes of a docking system contact at two patches of their contours, the number of degrees of freedom varies. Therefore, increasing or decreasing constraints is an effective way to investigate the contact problem. We use contact constraints to determine the contact forces. At the same time, contact constraints generally contain contact parameters \(\mathbf{u}^{*}\) and these parameters are varying due to the variation of contact couples. So, another task of this section is to determine the parameters at each moment of contact. A more general method than in this section can be found in [35].

7.1 Characteristics of contacts

Define two patches \(U_{1,j}\) and \(U_{2,j}\) attached to Body 1 (referred to as an APDS, and we defined a segment of a curve to be always on Body 1 in Sect. 4.3) and Body 2 (the other APDS), respectively. When the two patches keep contact at a point, actually two contact points on the two patches occupy a same position in space and form a contact couple. Let \(\mathbf{u}_{1,j}\in U_{1,j}\) and \(\mathbf{u}_{2,j}\in U_{2,j}\). When the two patches keep contact at the contact couple and the positions of the couple are denoted as \(\mathbf{u}_{1,j}^{*}\in U_{1,j}\) and \(\mathbf{u}_{2,j}^{*}\in U_{2,j}\), the distance between the two points are zero, namely \(\mathbf{r}_{1}-\mathbf{r}_{2}=0\), and the two patches are tangential at the contact point, namely

$$ \begin{aligned} &f_{1,j}\bigl(\mathbf{q},\mathbf{u}_{j}^{*}\bigr)=\bigl(\mathbf{r}_{1,j}\bigl(\mathbf{q}, \mathbf {u}_{1,j}^{*}\bigr)-\mathbf{r}_{2,j}\bigl(\mathbf{q},\mathbf{u}_{2,j}^{*}\bigr)\bigr)\cdot \mathbf{i}=0, \\ &f_{2,j}\bigl(\mathbf{q},\mathbf{u}_{j}^{*}\bigr)=\bigl(\mathbf{r}_{1,j}\bigl(\mathbf{q},\mathbf {u}_{1,j}^{*}\bigr)- \mathbf{r}_{2,j}\bigl(\mathbf{q},\mathbf{u}_{2,j}^{*}\bigr)\bigr)\cdot \mathbf{j}=0, \\ &f_{3,j}\bigl(\mathbf{q},\mathbf{u}_{j}^{*}\bigr)=\bigl(\mathbf{r}_{1,j}\bigl(\mathbf{q},\mathbf {u}_{1,j}^{*}\bigr)- \mathbf{r}_{2,j}\bigl(\mathbf{q},\mathbf{u}_{2,j}^{*}\bigr)\bigr)\cdot \mathbf{k}=0, \end{aligned} $$
(37)

where \(\mathbf{i}\), \(\mathbf{j}\) and \(\mathbf{k}\) are the unit vectors of the inertial Cartesian frame and

  • If the contact belongs to a C–S type, where \(\mathbf {u}_{1,j}\) has one element \(u_{1,j}\), \(\mathbf{u}_{2,j}\) has two elements \(\mathbf{u}_{2,j}=[u_{2,j},u_{3,j}]^{T}\) and \(\mathbf {u}_{j}=[u_{1,j},u_{2,j},u_{3,j}]^{T}\), the tangential condition at the contact couple results in

    $$ f_{4,j}\bigl(\mathbf{q},\mathbf{u}_{j}^{*}\bigr)=\frac{\partial\mathbf{r}_{1,j}}{\partial u_{1,j}}\cdot \biggl(\frac{\partial\mathbf{r}_{2,j}}{\partial u_{2,j}}\times\frac{\partial\mathbf{r}_{2,j}}{\partial u_{3,j}} \biggr)\bigg|_{\mathbf{u}_{j}^{*}}=0. $$
    (38)
  • If the contact belongs to a C–C type and

    $$ \frac{\partial\mathbf{r}_{1,j}}{\partial u_{1,j}}\times\frac{\partial\mathbf{r}_{2,j}}{\partial u_{2,j}}\bigg|_{\mathbf{u}_{j}^{*}}\neq0, $$
    (39)

    no tangential equation needs to be added, where \(\mathbf{u}_{1,j}\) and \(\mathbf{u}_{2}\) both include only one element, \(u_{1,j}\) and \(u_{2,j}\), respectively.

7.2 Determining contact parameters \(\mathbf{u}^{*}_{j}\)

Equations (37) and (38) comprise the constraint equations for the contact. It is worth noting that the equations only eliminate one degree of freedom of the docking system if the contact holds. For a C–S type of contact, there are (\(3+1\)) equations, but three parameters (\(\mathbf {u}_{j}=[u_{1,j},u_{2,j},u_{3,j}]^{T}\)) are included in the equations. And for a C–C type, only three equations, namely Eq. (37), exist without any complementary condition like Eq. (38). But the equations include merely 2 parameters \(\mathbf{u}_{j}=[u_{1,j},u_{2,j}]^{T}\). Therefore, for the two cases described in this paper, only one independent constraint of the system can be generally solved for as the parameters are eliminated from the constraint equation.

Set \(m\) to be the number of equations \(f_{i,j}=0\) (\(i=1,2,\dots,m\)) where \(r(=m-1)\) equations are chosen. Without losing generality, select the former \(r\) equations among the \(m\) and suppose \(|\mathbf{J}_{j}|\neq 0\) where

$$ \mathbf{J}_{j}= \left[ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \frac{\partial f_{1,j}}{\partial u_{1,j}^{*}} & \cdots & \frac{\partial f_{1,j}}{\partial u_{r,j}^{*}} \\ \vdots & \ddots& \vdots \\ \frac{\partial f_{r,j}}{\partial u_{1,j}^{*}} & \cdots & \frac{\partial f_{r,j}}{\partial u_{r,j}^{*}} \end{array}\displaystyle \right]_{r \times r}. $$
(40)

Since \(\vert \mathbf{J}_{j}\vert \neq0\), in theory, the parameters \(\mathbf{u}^{*} _{j}\equiv(u_{1,j}^{*},\dots, u_{r,j}^{*})\) at contact points can be solved for explicitly from \(f_{i,j}=0\), where \(i=1,\dots,r\), as

$$ \mathbf{u}^{*}_{j} = \mathbf{u}^{*}_{j}\bigl(\mathbf{q}(t)\bigr). $$
(41)

It is known by the implicit function theorem that \(\mathbf{u}^{*}\) can be obtained theoretically from \(f_{i,j}=0\) where \(i=1,\dots,r\) near the contact area if \(|\mathbf{J}_{j}|\neq0\). But the explicit expression of (41) only exists in theory, and it is not easy to write it out in the given domain due to the nonlinearity of the equations, \(f_{i,j}=0\). In order to find the explicit and unique solution of the contact parameters \(\mathbf{u}_{j}^{*}\), a numerical method is provided in the following. Taking the derivative of both sides of Eq. (41), one obtains

$$ \dot{\mathbf {u}}^{*}_{j}(t)=\sum _{j=1}^{n}\frac{\partial{\mathbf {u}^{*}_{j}}}{\partial q_{j}}\dot{q}_{j}, $$
(42)

where the coefficients, \({\partial{\mathbf {u}^{*}_{j}}}/{\partial q_{j}}\) and \({\partial{\mathbf {u}^{*}_{j}}}/{\partial t}\), are all unknown and need to be calculated from \(f_{i,j}=0\).

Differentiate the \(r\) equations \(f_{i,j}(\mathbf{q}(t),\mathbf {u}^{*}_{j}(\mathbf{q}(t)))\equiv0\) with respect to a generalized coordinate \(q_{k}\). From the chain rule, one immediately has

$$ \sum\limits _{l=1}^{r}\frac{\partial f_{i}}{\partial u_{l,j}^{*}} \frac {\partial u_{l,j}^{*}}{\partial q_{k}}+\frac{\partial f_{i,j}}{\partial q_{k}}=0,\quad i=1, \dots, r. $$
(43)

Define

$$\mathbf{u}_{'q_{k},j}^{*} = \biggl[\frac{\partial u_{1,j}^{*}}{\partial q_{k}}, \dots , \frac{\partial u_{r,j}^{*}}{\partial q_{k}}\biggr]^{T}, \quad \quad \mathbf{f}_{'q_{k},j} = \biggl[ \frac{\partial f_{1,J}}{\partial q_{k}}, \dots, \frac{\partial f_{r,j}}{\partial q_{k}}\biggr]^{T}. $$

Using matrix notation, Eq. (43) becomes

$$ \mathbf{J}_{j}\mathbf{u}_{'q_{,}j}^{*}+ \mathbf{f}_{'q_{k},j} =0. $$
(44)

Since \(|\mathbf{J}_{j}| \neq0\), we have

$$ \mathbf{u}_{'q_{k},j}^{*} = -\mathbf{J}_{j}^{-1} \mathbf{f}_{'q_{k},j}. $$
(45)

Aggregate \([\mathbf{u}^{*}_{'q_{1},j}, \dots, \mathbf{u}^{*}_{'q_{n},j}] = \mathbf{u}^{*}_{'\mathbf {q},j}\) and \([\mathbf{f}_{'q_{1},j}, \dots, \mathbf {f}_{'q_{n},j}] = \mathbf{f}_{'\mathbf {q},j}\). Then, for all \(k\), Eq. (45) is correct. Thus

$$ \mathbf{u}_{'\mathbf{q},j}^{*} = -\mathbf{J}_{j}^{-1} \mathbf{f}_{'\mathbf{q},j}. $$
(46)

Now, Eq. (42) in matrix notation can be explicitly expressed by

$$ \dot{\mathbf {u}}^{*}_{j}(t)= - \mathbf{J}_{j}^{-1}\mathbf{f}_{'\mathbf{q},j} \dot{\mathbf{q}}. $$
(47)

From Eq. (47) we know that the contact position \({\mathbf {u}}^{*}_{j}(t)\) can be predicted at the next step if the velocity \(\dot {\mathbf {u}}^{*}_{j}(t)\) is clear at the current step.

7.3 Contact constraints on the velocity level

Taking the derivative of both sides of Eq. (37), namely of \(\mathbf{r}_{1,j}-\mathbf{r}_{2,j}=0\), with respective to time \(t\), we obtain

$$ \frac{d(\mathbf {r}_{1,j}-\mathbf {r}_{2,j})}{dt} = \sum_{i=1}^{r} \frac {\partial(\mathbf {r}_{1,j}-\mathbf {r}_{2,j})}{\partial u^{*}_{i}} \dot{u}^{*}_{i} + \mathbf{v}_{j}^{r} \bigl(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j}\bigr)=0. $$
(48)

Dot-multiplying both sides of (48) by \(\mathbf{n}_{c}\) and using Definition 2, one has

$$ v^{r}_{3,j}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}^{*}_{j})= \mathbf{v}^{r}_{j} \cdot\mathbf{n}_{j} =0. $$
(49)

Putting the contact parameters predicted by Eq. (47) into Eq. (49), the \(j\)th contact constraint can be fully obtained at each moment. Although Eq. (49) means that the normal velocity at the contact couple is zero, one cannot obtain that the normal acceleration of it is zero because \(\mathbf{u}^{*}_{j}\) is variable, too.

7.4 Coulomb’s friction

With respect to the tangential direction of a contact, Coulomb’s friction law is considered because of its validity and precision either with or without impact [40, 44]. If the tangential relative velocity is not zero, the contact is called a slide. But if the velocity is zero, we call it a stiction. For a slide, the tangential contact force is linear with the normal force and the direction is opposite to the tangential relative velocity. In terms of stiction, the contact force should be located within the friction cone. Therefore, according to Coulomb’s frictional law, the contact forces at the \(j\)th contact couple satisfy

$$ \lambda^{3}_{j}\geq0\quad\mbox{and}\quad \left\{ \textstyle\begin{array}{l@{\quad}l} {\lambda}^{k}_{j}=-\mu{\lambda^{3}_{j}}\frac{v_{k,j}^{r}}{\vert \mathbf {v}_{\tau,j}^{r}\vert },& \mbox{if }\mathbf{v}_{\tau,j}^{r}\neq\mathbf {0}, \\ \mathbf{v}_{\tau,j}^{r}=0,& \mbox{if }\sqrt{\bigl(\lambda^{1}_{j}\bigr)^{2}+\bigl(\lambda^{2}_{j}\bigr)^{2}}\leq\mu_{s}{\lambda^{3}_{j}}, \end{array}\displaystyle \right.\quad(k=1,2), $$
(50)

where \(\lambda^{1}_{j}\), \(\lambda^{2}_{j}\) and \(\lambda^{3}_{j}\) are the components of contact force under the contact frame \((\mathbf{\tau}_{1,j},\mathbf {\tau}_{2,j},\mathbf{n}_{j})\). The dynamic and static coefficients of friction are set to be \(\mu\) and \(\mu_{s}\), respectively.

But if the contact force is not located within the friction cone under stiction, or if the normal contact force is less than zero under the assumption of either stiction or sliding, the current assumption such as stiction, slide or keeping contact is no longer true. All the possible motions such as slide, stiction and detachment except the current assumption should be checked for a rational consequent motion. An event-driving strategy led by unilateral contact and Coulomb’s frictional law will be introduced in Sect. 8.

8 Simulation

8.1 A numerical framework for the docking system

Now, we conclude the docking dynamic model established above and give a numerical framework for the docking system.

The non-contact and contact dynamic equations for the docking system are expressed by Eq. (5). The Lagrangian multipliers can be solved for from \(s\) sets of the contact constraints of (49) for \(\lambda_{j}^{3}\) plus the complementary conditions (50) originating from Coulomb’s frictional law for \(\lambda_{j}^{1}\) and \(\lambda_{j}^{2}\), where \(j=1,\dots, s\). The contact parameters, \(\mathbf{u}^{*}_{j}\), in the contact constraints can be obtained via integrating the parametric velocities of Eq. (47) at each step.

In the framework, the contact constraints (49) and Coulomb’s friction law (50) form an event-driving strategy as

$$ \left\{ \begin{aligned} &\mbox{if }\mathbf{v}_{\tau,j}^{r}(t)\neq\mathbf{0},\quad \mbox{then } \lambda ^{3}_{j}(t)\geq0,\;{\lambda}_{j}^{k}(t)=-\mu{\lambda_{j}^{3}(t)}\frac{v_{k,j}^{r}(t)}{\vert \mathbf{v}_{\tau,j}^{r}(t)\vert }, \\ &\mbox{if }\mathbf{v}_{\tau,j}^{(}t)=\mathbf{0},\quad \mbox{then } v_{k,j}^{r}(t)=0,\;\lambda^{3}_{j}(t)\geq0,\;\sqrt{\bigl(\lambda_{j}^{1}(t)\bigr)^{2}+\bigl(\lambda _{j}^{2}(t)\bigr)^{2}}\leq\mu_{s}{\lambda_{j}^{3}(t)}, \\ &\mbox{otherwise } \lambda_{j}^{k}(t)=0, \end{aligned} \right. $$
(51)

where \(t\in[t,t+\Delta t]\) and \(k=1,2\). The current time is \(t\) and the time step is \(\Delta t\). The actual motion at \(s\) sets of contact couples should be sought among the possible motions of (51) as \(j=1,\dots,s\).

Equations (5), (49), (51), and (47) make up the contact-dynamics module in the framework of the docking system.

Remark

The constraint equations \({v}_{k,j}^{r}=0\) where \(k=1,2,3\) may be differentiated with respect to \(t\) when they are incorporated into the dynamic equations. The derivatives are

$$ \frac{d{v}_{k,j}^{r}}{dt}=\sum_{i}^{18} \frac{\partial {v}_{k,j}^{r}}{\partial\dot{q}_{i}}\ddot{q}_{i}+ \Biggl(\sum_{i}^{18} \frac {\partial{v}_{k,j}^{r}}{\partial q_{i}}\dot{q}_{i}+\sum_{k=1}^{n} \frac{\partial {v}_{k,j}^{r}}{\partial u_{k,j}^{*}}\dot{u}_{k,j}^{*} \Biggr), $$
(52)

where \(\dot{u}_{k,j}^{*}\) can be obtained by Eq. (47).

At the beginning of a docking procedure, no contact exists. The contact forces, \(\lambda_{j}^{k}\) (\(j=1,\dots,s,k=1,2,3\)) are all zeros. The fast seeking method introduced in Sect. 5.1 searches potential contact couples ceaselessly between pairs of possible contact patches. A guide side on one APDS and another guide side on the other APDS comprise a possible pair of potential contact patches. The corresponding relations between the guide sides are \((n_{1},n_{5})\), \((n_{2},n_{4})\), \((n_{3},n_{3})\), \((n_{4},n_{2})\), \((n_{5},n_{1})\), and \((n_{6},n_{6})\), respectively, which belong to Type C–C. Each guide surface on one APDS and the inside guide ring on the other APDS make a pair of possible contact patches, which belong to Type C–S. Therefore, there are 12 pairs of potential contact patches for the docking system described in this paper, and each pair has only one potential contact couple.

Generally, impacts occur when potential contact couples found by the seeking method turn from being inactive to being active since the velocities at the contact couples are usually inconsistent. The LZB method is employed to solve the impacts. The multiple-impact procedure is controlled by the impact dynamic equations (35) with the distributional law (32). The energetic coefficients of restitution are introduced to estimate the dissipation at each couple in multiple impacts; see (36). The distributional law and Coulomb’s frictional law in consideration of the energetic coefficients of restitution at the impact couples form an event-driving strategy in the numerical framework for multiple impacts as

$$ \left\{ \begin{aligned} &\mbox{if } \mathbf{v}_{\tau,j}^{r}\neq\mathbf{0}\quad \mbox{then } \frac{dP^{k}_{j}}{dP^{3}_{j}}=-\mu\frac{(v_{k,j}^{r})}{\vert \mathbf{v}_{\tau_{j}}^{r}\vert },\; E'_{j}>0, \\ &\mbox{if } \mathbf{v}_{\tau,j}^{r}=\mathbf{0}\quad \mbox{then }v_{k,j}^{r}=0 \;\mbox{if }\sqrt{ \biggl(\frac{dP^{1}_{j}}{dP^{3}_{j}} \biggr)^{2}+ \biggl(\frac{dP^{2}_{j}}{dP^{3}_{j}} \biggr)}\leq\mu_{s},\; E'_{j}>0, \\ &\mbox{otherwise } E'_{j}=0,\; \frac{dP^{k}_{j}}{dP^{3}_{j}}=0, \end{aligned} \right. $$
(53)

where \(k=1,2\) and

$$ \left\{ \textstyle\begin{array}{l@{\quad}l} E'_{j}=E_{j} & \mbox{during compressional phrase and non-contact}; \\ E'_{j}=E_{j}-\bigl(1-e_{j}^{2}\bigr)W_{c,j} & \hbox{during restitutional phrase}, \end{array}\displaystyle \right. $$
(54)

where the main difference of Eq. (53) from Eq. (51) is that detachment in Eq. (53) is only determined by the coefficient of restitution. Some detailed applications of the LZB method can be found in [39, 40, 43]. Equations (32), (53) and (36) constitute the impact-dynamics module in the framework of the docking system.

On the basis of the contact-dynamics and impact-dynamics modules, a programme for the capture phase of the docking system has been written. A symbolic computation software had to be used to form the mass matrix and the generalized forces in the programme due to the sophisticated configuration of the system. At each step, the generalized accelerations and the contact forces are linear. So the Eulerian method is employed to integrate the dynamic equation for the generalized accelerations and the contact forces, then for the generalized velocities and configuration of the system. When the Eulerian method is employed for contact steps, the constraint equations should be differentiated with respect to time t to the acceleration level by Eq. (52). Then the constraints are incorporated into the dynamic equations to obtain the generalized accelerations of the system and the contact forces. At impact steps, we select the normal impulse \(P^{\star}\) of which the potential energy is maximum to be the independent variable instead of time \(t\). An equal increment, \(\delta P^{\star}\), is supposed for the impact integration. The simplified flow chart of the programme is sketched in Fig. 5. Then, numerical simulation can be carried out. A simulation example under a special working condition is discussed thoroughly in what follows. A movie of this example is attached to this paper.

Fig. 5
figure 5

The flow chart of the programme for the capture-phase dynamics of the docking system

8.2 A simulation example

The two APDSes are the same. It is shown in Fig. 3 that the passage diameter is \(D=800~\mbox{mm}\) and the external diameter of an APDSes is \(R=1200~\mbox{mm}\). Other geometric parameters of an APDS are set as \(\alpha_{1}=45^{\circ}\), \(\alpha_{2}=30^{\circ}\), \(H=200~\mbox{mm}\), and \(L=305~\mbox{mm}\). The equilibrium position of the mass center (the center of the circle ring) of the target’s APDS is installed at point \([a,b,c]^{T}=[0,0,5.03]^{T}~(\mbox{m})\) under the body frame \((\mathbf{e}_{2,1},\mathbf{e}_{2,2},\mathbf {e}_{2,3})\). The mass center of the chaser’s APDS is fixed at point \([a_{1},b_{1},c_{1}]^{T}=[0,0,1.9]^{T}~(\mbox{m})\) under the body frame \((\mathbf {e}_{3,1},\mathbf{e}_{3,2},\mathbf{e}_{2,3})\).

The mass of an APDS is \(m=150~\mbox{kg}\), and the principle moments of inertia about the \(x\)\(y\) and \(z\) axes in the body frame are all the same, namely \(I=68~\mbox{kg}\,\mbox{m}^{2}\). The masses and the principle moments of inertia of the chaser spacecraft with the APDS fixed on it, the target spacecraft and its APDS are presented in Table 1.

Table 1 Mass and moments of inertia

The APDS on the target spacecraft is assembled with a Stewart mechanism. Six elements of spring and damper are used to imitate the motions of a Stewart mechanism. The six pairs of stiffness and damping coefficients for the three relative displacements and rotations between the target spacecraft and its APDS are given in Table 2.

Table 2 The stiffness and damping coefficients of the equivalent element of spring and damper for a Stewart mechanism

In order to explain the simulation example, first we put the two APDSes to be coaxial and the six petals of the two APDSes as just matched very well. For the initial condition of this example, the target spacecraft with its APDS rotates \(5^{\circ}\) (degrees) about the common axis. Then the two spacecrafts are separated for a small distance (0.01 m) from each other along the co-axis. The target spacecraft stays silent and the chaser spacecraft moves toward the target spacecraft with a \(1~\mbox{m}/\mbox{s}\) speed along the co-axis.

While the two spacecrafts are approaching, three pairs of guide petals impact on their guide sides simultaneously. The system’s velocities vary suddenly due to the multiple impacts. After several impacts, the APDSes slide at three contact couples along the three pairs of guide petal sides. The two APDSes are rotating relatively and continuously to adjust their postures towards their matching positions. While the petals are sliding along their sides, the centers of the two guide rings are approaching. Finally, the centers of the two APDSes’ guide rings come together and the capture locks turn on, which means the capture phase comes to the end.

Figure 6 shows the history of the rotational velocities, from which we can see the velocities jump due to the multiple impacts. Since the inertial moment of the APDS on the target spacecraft is comparatively small, the rotational velocity \(\dot{\phi}\) turns to be very large after several impacts. But the other APDS is fixed on the chaser spacecraft and its inertial moment is big, so the rotational velocity \(\dot{\beta}_{3}\) is not very big after the impacts. Figure 7 shows the translational velocities of the two spacecrafts along the axis during the docking motion. Their velocities do not vary much due to their large inertias.

Fig. 6
figure 6

History of rotational velocities during docking: (a) rotational velocity of APDS on the target spacecraft, \(\dot{\phi}\); (b) rotational velocity of the chaser spacecraft about the axis of its APDS, \(\dot{\beta}_{3}\)

Fig. 7
figure 7

History of translational velocities during docking: (a) velocity of APDS on the target spacecraft along the axis, \(\dot{x}_{3}\); (b) velocity of the chaser spacecraft along the axis, \(\dot{y}_{3}\)

Figure 8(a) shows that the displacement of the guide rings’ center is approximately zero at the end of the capture phase. Figure 8(b) presents the contact force (including friction but not the impact force) at one of the three contact couples on the guide petal sides during sliding, which appears very smooth without sawtooth in comparison with [1]. There are three the same contact forces at the three contact couples due to symmetry of the system and its initial state. After the capture phase, the relative velocities of two spacecrafts are not zero. This part of kinematic energy will be dissipated by the Stewart mechanism by the subsequent buffing phase.

Fig. 8
figure 8

(a) Displacement between the centers of the two guide rings; (b) Contact force for one of the three pairs of guide petal sides during their slide along each other

In order to verify the validity of the numerical results, Fig. 9 shows the components of the momentum and the moment of momentum of the system along the axis during the capture phase—they are all conserved.

Fig. 9
figure 9

The momentum and the moment of momentum of the docking system along the axis are conserved

Additionally, a movie of this example is also presented as an attachment.

9 Conclusions

In this article, a complete rigid-body dynamic model has been established for contact/impact problems for the capture phase of a docking system with two the same APDSes. The Lagrangian formulations are adopted, which govern either the contacts or the impacts of the capture dynamics of the docking system. Impacts and contacts are dealt with respectively in different ways. Contacts are taken as constraints acting on the system. A general approach for contacts of the C–C type and the C–S type has been provided for the automatical formulation of contact constraints from a set of sufficient and necessary conditions of point contacts for the docking system. This method makes it possible to formulate the constraints for the point contact of two sophisticated contour shapes and shows a way of how to incorporate them into the dynamic equations of systems. The LZB method has been applied for the multiple impacts; and it was the first time that the LZB method was used to solve an actual engineering problem. Then, the framework was presented and the numerical simulation was described for the capture phase of the docking system. A docking simulation in the capture phase under a simple working condition was analyzed thoroughly. In comparison with flexible methods, the method presented in this paper is more complicated in the modeling procedure than flexible methods, but it is more efficient in simulation.