Introduction

Servicing dedicated spacecraft equipped with robotic manipulators, which we refer to later as the space manipulators become more widely used in variety of applications like on-orbit servicing, asteroid mining, active space debris removal and space mining. Examples of such missions can be found in [1] and references there. Servicing spacecraft equipped with the space manipulator is a complex dynamic system embedded into disciplines of mechanics and aerospace engineering. The dynamics between the space manipulator and the base-spacecraft are coupled, the system requires nonlinear control systems to meet capture or manipulation goals, ensure mission completion as well as disturbance and vibration compensations. Effects of the space manipulator operations on the orientation and position of the base were studied in many works; see e.g. [2]. Specifically, effects of fast-moving space manipulator mounted on small base-spacecraft were critical to position and orientation disturbances of the base as discussed in [3, 4]. There are thus increasing needs for the spacecraft with space manipulator applications, and reasons for which engineers developing spacecraft control and sensor systems, communication systems and operation plans need to understand their complex dynamics. However, dynamics modeling and control of the space manipulator are not part of a typical mechanics, aerospace or control activities. Literature dedicated to dynamics modeling, control, application and performance analysis of the space manipulator is vast; see example of the overview in [5]. Generally, two commonly used methods for modeling the space manipulator are based on the recursive Newton–Euler and the Lagrangian methods. In [6], a presentation of the Newton–Euler dynamics for developing motion equations of the space manipulator is provided. When the space manipulator is equipped with flexible links, equations of motion can be developed using the direct path method [7]. The Lagrangian method based upon system kinetic and potential energies, uses a set of generalized coordinates describing link positions. However, the most often Euler angles are used for the space manipulator reorientation description. They can be not convenient for descriptions of complex space manipulator maneuvers.

When controlling motion of the space manipulator system, the dynamic coupling between its base and the manipulator may become dominant. The base may not be actuated and then any space manipulator motion causes its rotation and translation. From the point of view of most servicing tasks, it is not desirable. A detailed overview of methods of how to handle dynamic couplings in space manipulator systems for control applications can be found in [8].

Considering free space manipulator rotations in space, quaternions are the more suitable parameters for the attitude description. Not only they do not share Euler angles’ drawbacks, but they are also computationally more efficient. However, implementation of quaternions reveals other challenges due to nonlinear relations with respect to space manipulator angular velocities and a constraint equation they add to the space manipulator dynamics. Introduction of quaternion parameterization to the Lagrange based dynamics modeling can be found in some works but the derivation procedure was developed for ground fixed manipulators subjected to position constraints only [9]. In the recent paper [10], authors proposed the space manipulator modeling developing the modified method of a dynamically equivalent manipulator (DEM) in the quaternion parameterization. Originally, the DEM method is developed using the Euler angles for kinematic description of the space manipulator made equivalent to the fixed ground one; see [10] for details and references. The modified DEM method enables development of the space manipulator kinematics and dynamics models in quaternions. It delivers a tool for conducting reliable simulation studies and tests for various maneuvers and mission scenarios for the space manipulator and it offers an attractive control design tool. However, preliminary research revealed that the DEM approach is a bit limited and is not suitable for modeling the space manipulator equipped with flexible links. The reason is that effective scaling of elasticity effects along with the entire system geometry is challenging and may require intensive computation times. Each link scaling changes not only its length and mass but also location of the mass center. It changes the modal characteristics of the flexible link. Even assuming that a complex cross-section shape changing along the link length could retain its characteristics, there are still two factors preventing from the proper transformation from the space manipulator to its equivalent DEM. The first is the magnitude of deflection. Having the same modal state, the transverse deflection has a different value due to a different length of the link. The second is that the DEM method does not conserve the linear acceleration and the equivalent motion of an equivalent manipulator does not excite vibrations in the same way as the original space manipulator. For these reasons, a free-floating model of the space manipulator was selected and elastic links are added to its structure.

The novelty of the paper consists of development of a general comprehensive and scalable model of the space manipulator with multiple arms consisting of multiple links including flexible links.

The paper is organized as follows. After Introduction, “Space Manipulator Constrained Dynamics Modeling using Quaternion Description” presents the space manipulator rigid part of dynamics modeling using the constrained mechanical system approach in quaternion parameterization. In “Modeling a Space Manipulator with a Flexible Link”, the elastic link model is presented. “Modeling of the Space Manipulator Flexible Link” develops the complete space manipulator model equipped with a flexible link. Thus, the rigid and elastic sub-structures are combined into one system dynamic model. In “Numerical Study of the Rigid-Flexible Space Manipulator Model”, a simulation study illustrates the dynamics behavior of the space manipulator with the flexible arm. The paper closes with conclusions and the reference list.

Space Manipulator Constrained Dynamics Modeling Using Quaternion Description

In this section, a model of a rigid, free-floating space manipulator is derived resulting in the constrained dynamics. Equations of motion for the rigid space manipulator are derived, e.g. in [11], using Euler’s angles for the attitude description. Due to the reasons discussed in “Introduction”, this description is not the most suitable for space system maneuvers. Therefore, authors have introduced the quaternion representation to model the space manipulator dynamics. Two concepts have been researched. The first attempt was to apply the Lagrange equations using quaternions to derive the space manipulator equations of motion. This approach, however, occurred to be inefficient for increasing number of the space manipulator links. Due to poor scalability, authors decided to model the space manipulator as a set of links, which are separate bodies subjected to position constraints. In this formulation each link possesses six degrees of freedom and its state is described by the following 13-element state vector.

$${{\varvec{x}}}_{{\varvec{i}}}\left({\varvec{t}}\right)={\left[\begin{array}{cc}\begin{array}{cc}{{\varvec{r}}}_{{\varvec{i}}}^{{\varvec{T}}}\left({\varvec{t}}\right)& {{\varvec{v}}}_{{\varvec{i}}}^{{\varvec{T}}}\left({\varvec{t}}\right)\end{array}& \begin{array}{cc}{{\varvec{q}}}_{{\varvec{i}}}^{{\varvec{T}}}\left({\varvec{t}}\right)& {{\varvec{\omega}}}_{{\varvec{i}}}^{{\varvec{T}}}\left({\varvec{t}}\right)\end{array}\end{array}\right]}^{{\varvec{T}}},$$
(1)

where \({{\varvec{r}}}_{{\varvec{i}}}({\varvec{t}})\) are inertial, translational coordinate vectors of the center of mass of a body i, \({{\varvec{v}}}_{{\varvec{i}}}({\varvec{t}})={\dot{{\varvec{r}}}}_{{\varvec{i}}}({\varvec{t}})\) is inertial translational velocity vector, \({{\varvec{q}}}_{{\varvec{i}}}({\varvec{t}})={{{\varvec{q}}}_{{\varvec{i}}}}_{{\varvec{B}}}^{{\varvec{I}}}({\varvec{t}})\) is a quaternion rotating from the body to the inertial frame, \({{\varvec{\omega}}}_{{\varvec{i}}}({\varvec{t}})\) is the angular velocity vector determined in the body frame.

The Lagrange multipliers method is adopted then and equations governing a model composed of b rigid bodies are of the following form:

$$\left[\begin{array}{cc}{\varvec{M}}\left({\varvec{x}}({\varvec{t}})\right)& {{\varvec{B}}({\varvec{x}}({\varvec{t}}))}^{{\varvec{T}}}\\ {\varvec{B}}({\varvec{x}}({\varvec{t}}))& {\varvec{O}}\end{array}\right]\left[\begin{array}{c}\dot{{\varvec{w}}}({\varvec{t}})\\{\varvec{\lambda}}({\varvec{t}})\end{array}\right]=\left[\begin{array}{c}{\varvec{f}}({\varvec{t}})\\{\varvec{\mu}}({\varvec{x}}({\varvec{t}}))\end{array}\right].$$
(2)

In Eq. (2), \({\varvec{M}}\left({\varvec{x}}({\varvec{t}})\right)=\mathrm{diag}\left[\begin{array}{cc}\begin{array}{cc}{{\varvec{m}}}_{1}& {{\varvec{I}}}_{1}\left({\varvec{x}}({\varvec{t}})\right)\end{array}& \begin{array}{ccc}...& {{\varvec{m}}}_{{\varvec{b}}}& {{\varvec{I}}}_{{\varvec{b}}}\end{array}\end{array}\left({\varvec{x}}({\varvec{t}})\right)\right]\) is a mass matrix, \({\varvec{B}}({\varvec{x}}({\varvec{t}}))\) is a matrix satisfying the equation:

$$\dot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))={\varvec{B}}({\varvec{x}}({\varvec{t}})){\varvec{w}}({\varvec{t}})+{{\varvec{\phi}}}_{{\varvec{t}}}({\varvec{x}}({\varvec{t}}))=0,$$
(3)

where \({\varvec{\phi}}({\varvec{x}}({\varvec{t}}))\) represents the position constraint equations, \({\varvec{w}}({\varvec{t}})={\left[\begin{array}{cc}{{\varvec{v}}}_{{\varvec{i}}}^{{\varvec{T}}}({\varvec{t}})& {{\varvec{\omega}}}_{{\varvec{i}}}^{{\varvec{T}}}({\varvec{t}})\end{array}\right]}^{{\varvec{T}}}\), \({\varvec{\lambda}}({\varvec{t}})\) is a vector of Lagrange multipliers, \({\varvec{f}}({\varvec{t}})\) is a vector of forces and torques, \({\varvec{\mu}}({\varvec{x}}({\varvec{t}}))\) satisfies the equation:

$$\ddot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))={\varvec{B}}({\varvec{x}}({\varvec{t}}))\dot{{\varvec{w}}}({\varvec{t}})-{\varvec{\mu}}({\varvec{x}}({\varvec{t}}))=0.$$
(4)

The links of the space manipulator are connected by two constraint equations that describe a revolute joint. A position constraint of the form:

$${{\varvec{\phi}}}_{1}({\varvec{x}}({\varvec{t}}))={{\varvec{r}}}_{{\varvec{i}}}({\varvec{t}})+{{\varvec{s}}}_{1{\varvec{i}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))-{{\varvec{r}}}_{{\varvec{j}}}({\varvec{t}})-{{\varvec{s}}}_{1{\varvec{j}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))=0,$$
(5)

is needed to connect extremities of links \(\varvec{i}\) and \(\varvec{j}\). \({{\varvec{s}}}_{1{\varvec{i}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))\) and \({{\varvec{s}}}_{1{\varvec{j}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))\) are vectors from the centers of mass of links \(\varvec{i}\) and \(\varvec{j}\) to the joint location. Another equation is required to constrain the rotational motion to a single axis. It has the form:

$${{\varvec{\phi}}}_{2}({\varvec{x}}({\varvec{t}}))={{\varvec{s}}}_{2{\varvec{i}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))\times {{\varvec{s}}}_{2{\varvec{j}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))=0.$$
(6)

The vectors \({{\varvec{s}}}_{2{\varvec{i}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))\) and \({{\varvec{s}}}_{2{\varvec{j}}}^{{\varvec{P}}}({\varvec{x}}({\varvec{t}}))\) describe joints rotation vectors of links \(\varvec{i}\) and \(\varvec{j}\). Equation (6) preserves that those axes are parallel. The combined Eqs. (5) and (6) fully describe the revolute joint connection between links \(\varvec{i}\) and \(\varvec{j}\).

The free-floating regime of the space manipulator motion requires the conservation of angular and linear momentum, which form the holonomic and non-holonomic constraint equations, respectively:

$${\sum }_{{\varvec{i}}=1}^{{\varvec{b}}}{{\varvec{m}}}_{{\varvec{i}}}{{\varvec{v}}}_{{\varvec{i}}}({\varvec{t}})={{\varvec{p}}}_{0},$$
(7)
$${\sum }_{{\varvec{i}}=1}^{{\varvec{b}}}\left({{\varvec{m}}}_{{\varvec{i}}}\left({{\varvec{r}}}_{{\varvec{i}}}^{\mathbf{c}\mathbf{o}\mathbf{m}}({\varvec{t}})\times {{\varvec{v}}}_{{\varvec{i}}}({\varvec{t}})\right)+{{{\varvec{q}}}_{{\varvec{i}}}}_{{\varvec{B}}}^{{\varvec{I}}}({\varvec{t}})\otimes\left({{\varvec{I}}}_{{\varvec{i}}}{({\varvec{x}}({\varvec{t}})){\varvec{\omega}}}_{{\varvec{i}}}({\varvec{t}})\right)\otimes{{{{\varvec{q}}}_{{\varvec{i}}}}_{{\varvec{B}}}^{{\varvec{I}}}}^{{*}}({\varvec{t}})\right)={{\varvec{L}}}_{0}.$$
(8)

In (7) and (8), \({{\varvec{r}}}_{{\varvec{i}}}^{\mathbf{c}\mathbf{o}\mathbf{m}}({\varvec{t}})\) stands for a position of a body with respect to system’s center of mass and it is expressed in the inertial reference frame, \(\varvec{b}\) indicates the number of bodies. Constrained dynamic system models, when solved numerically, tend to exhibit unstable solutions and the instabilities increase with the simulation time. To stabilize the solution for the space manipulator dynamics, the Baumgarte numerical stabilization method is used [12]. It requires that the differentiated constraint Eqs. (5) and (6) are augmented as follows:

$$\ddot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))+2\boldsymbol{\alpha }\dot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))+{{\varvec{\beta}}}^{2}{\varvec{\phi}}({\varvec{x}}({\varvec{t}}))=0.$$
(9)

In (9), \(\varvec{\alpha} \) and \(\varvec{\beta} \) are the stabilization gains which shall be selected for the simulation. For the non-holonomic constraint, it is enough that only the first gain is applied. The constraint equation in the form (9) secures the constraints satisfaction during the space manipulator model motion. With the Baumgarte method introduced, Eq. (2) turns into:

$$\left[\begin{array}{cc}{\varvec{M}}({\varvec{x}}({\varvec{t}}))& {{\varvec{B}}({\varvec{x}}({\varvec{t}}))}^{{\varvec{T}}}\\ {\varvec{B}}({\varvec{x}}({\varvec{t}}))& 0\end{array}\right]\left[\begin{array}{c}\dot{{\varvec{w}}}({\varvec{t}})\\{\varvec{\lambda}}({\varvec{t}})\end{array}\right]=\left[\begin{array}{c}{\varvec{f}}({\varvec{t}})\\{\varvec{\mu}}({\varvec{x}}({\varvec{t}}))-2\boldsymbol{\alpha }\dot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))-{{\varvec{\beta}}}^{2}{\varvec{\phi}}({\varvec{x}}({\varvec{t}}))\end{array}\right].$$
(10)

The matrix differential Eq. (10) describes the rigid, multi-link, free-floating space manipulator. This dynamics will be combined with an elastic space manipulator link model in “Modeling a Space Manipulator with a Flexible Link”.

Modeling of the Space Manipulator Flexible Link

The flexible link behavior is discretized to efficiently include it into the space manipulator system. Comparison of effectiveness for modeling two commonly used models, i.e. assumed mode method (AMM) and finite element method (FEM) can be found in [13] and [14]. The latter paper recommends the AMM for a uniform cross-section link and recommends it as the more suitable for numerical simulations. The AMM is then chosen to be implemented to the space manipulator dynamics model derivation in this paper. The behavior of a flexible link can be described by a finite number of vibration modes. The mode shapes are obtained as solutions of Euler–Lagrange partial differential equation (Euler–Bernoulli beam theory) with proper boundary conditions [15]:

$$\frac{{\partial }^{2}}{\partial {{\varvec{x}}({\varvec{t}})}^{2}}\left({\varvec{E}}{\varvec{I}}\frac{{\partial }^{2}{\varvec{\omega}}\left({\varvec{x}}({\varvec{t}})\right)}{\partial {{\varvec{x}}({\varvec{t}})}^{2}}\right)=-{\varvec{\mu}}\frac{{\partial }^{2}{\varvec{\omega}}\left({\varvec{x}}\left({\varvec{t}}\right)\right)}{\partial {{\varvec{t}}}^{2}}+{\varvec{q}}\left({\varvec{x}}\right),$$
(11)

where \({\varvec{x}}({\varvec{t}})\) is the coordinate along the beam length, \({\varvec{\omega}}\left({\varvec{x}}({\varvec{t}})\right)\) describes deflection perpendicular to \(\varvec{x}\), \(\varvec{E}\) is the elastic modulus, \(\varvec{I}\) is the second moment of area of the beam's cross-section, \(\varvec{\mu} \) is the mass per unit length, \({\varvec{q}}\left({\varvec{x}}\right)\) is an external transverse load.

In the flexible link model, each mode is described by its state \({{\varvec{\eta}}}_{{\varvec{i}}}\left({\varvec{t}}\right)\). The physical deflection is the product of mode states and the relevant mode shape functions \({{\varvec{\phi}}}_{{\varvec{i}}}\left({\varvec{x}}\right)\).

$${\varvec{w}}\left({\varvec{x}}({\varvec{t}})\right)={\sum }_{{\varvec{i}}=1}^{\boldsymbol{\infty }}{{\varvec{\phi}}}_{{\varvec{i}}}\left({\varvec{x}}\right){{\varvec{\eta}}}_{{\varvec{i}}}\left({\varvec{t}}\right).$$
(12)

Infinite series are not appropriate for practical applications so a reasonable truncation should be applied. The first truncated mode should lie outside the frequency of interest e.g. the system bandwidth.

Modeling a Space Manipulator with a Flexible Link

The model for a rigid spacecraft equipped with the space manipulator was derived in “Space Manipulator Constrained Dynamics Modeling using Quaternion Description”. The complexity of adding elastic effects results from the complex nature of the satellite maneuvers when vibrations are excited by flexible appendage and then they are transmitted upon rigid parts of spacecraft. The coupling between rigid motion and elastic modes can be expressed by the following equation used in for instance in [16, 17]:

$${\varvec{M}}\left({\varvec{x}}\left({\varvec{t}}\right)\right)\left[\begin{array}{c}\ddot{{\varvec{r}}}\left({\varvec{t}}\right)\\ \dot{{\varvec{\omega}}}\left({\varvec{t}}\right)\end{array}\right]=\left[\begin{array}{c}{\varvec{F}}\left({\varvec{t}}\right)\\ {\varvec{T}}\left({\varvec{t}}\right)\end{array}\right]-{{\varvec{L}}\left({\varvec{x}}\left({\varvec{t}}\right)\right)}^{{\varvec{T}}}\ddot{{\varvec{\eta}}}\left({\varvec{t}}\right).$$
(13)

Computation of reactions exerted on the spacecraft rigid part are expressed by:

$$\ddot{{\varvec{\eta}}}\left({\varvec{t}}\right)+\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left(2{{\varvec{\omega}}}_{{\varvec{i}}}{{\varvec{\zeta}}}_{{\varvec{i}}}\right)\dot{{\varvec{\eta}}}\left({\varvec{t}}\right)+\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left({{\varvec{\omega}}}_{{\varvec{i}}}^{2}\right){\varvec{\eta}}\left({\varvec{t}}\right)={\varvec{L}}\left({\varvec{x}}\left({\varvec{t}}\right)\right)\left[\begin{array}{c}\ddot{{\varvec{r}}}\left({\varvec{t}}\right)\\ \dot{{\varvec{\omega}}}\left({\varvec{t}}\right)\end{array}\right],$$
(14)

where \(\eta \left(\varvec{t}\right)\) is a vector of flexible mode states, \(\varvec{\omega }_{\varvec{i}}\) is the natural frequency of i-th mode, \(\varvec{\zeta }_{\varvec{i}}\) is the damping ratio of i-th mode, \(\varvec{L}(\varvec{x}(\varvec{t}))\) is the modal matrix.

It should be noted that the system model size increases with each additional mode considered. Combining the above equations with the rigid part of the space manipulator model dynamics derived in “Space Manipulator Constrained Dynamics Modeling using Quaternion Description” requires some care that should be taken with respect to the reference frames. The modal matrix \(\varvec{L}\) must be transformed to a frame coherent with accelerations. In this case, each link’s state is expressed in the inertial frame. This is the convenient frame to express accelerations, because there is no need for additional complex transformations. For this reason, in each simulation time step, the modal matrix is transformed to the inertial frame as well. Let us rewrite Eqs. (13) and (14) as:

$$\left[\begin{array}{cc}{\varvec{M}}({\varvec{x}}({\varvec{t}}))& {{\varvec{L}}({\varvec{x}}({\varvec{t}}))}^{{\varvec{T}}}\end{array}\right]\left[\begin{array}{c}\ddot{{\varvec{r}}}\left({\varvec{t}}\right)\\ \dot{{\varvec{\omega}}}\left({\varvec{t}}\right)\\ \ddot{{\varvec{\eta}}}\left({\varvec{t}}\right)\end{array}\right]=\left[\begin{array}{c}{\varvec{F}}\left({\varvec{t}}\right)\\ {\varvec{T}}\left({\varvec{t}}\right)\end{array}\right],$$
(15)
$$\left[\begin{array}{cc}{\varvec{L}}({\varvec{x}}({\varvec{t}}))& {{\varvec{I}}}_{{\varvec{k}}}\end{array}\right]\left[\begin{array}{c}\ddot{{\varvec{r}}}\left({\varvec{t}}\right)\\ \dot{{\varvec{\omega}}}\left({\varvec{t}}\right)\\ \ddot{{\varvec{\eta}}}\left({\varvec{t}}\right)\end{array}\right]=-\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left(2{{\varvec{\omega}}}_{{\varvec{i}}}{{\varvec{\zeta}}}_{{\varvec{i}}}\right)\dot{{\varvec{\eta}}}\left({\varvec{t}}\right)-\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left({{\varvec{\omega}}}_{{\varvec{i}}}^{2}\right){\varvec{\eta}}\left({\varvec{t}}\right),$$
(16)

\(\varvec{I}_{\varvec{k}}\) stands for the identity matrix of size \(\varvec{k}\), which denotes number of flexible modes considered in the model. Combining Eqs. (10), (15) and (16), we can obtain the final rigid-flexible space manipulator dynamics model. As an example for simulation studies, we consider a simple model. It consists of a base and a two-link robotic arm. Its scheme is shown in Fig. 1. The space manipulator base \(\varvec{b}\) and the links \(\varvec{l}_{\varvec{i}}\) are modeled in the same way as separate six degrees of freedom bodies which translational and rotational states are described with respect to the inertial frame. Rotational joints \(\varvec{j}_{\varvec{i}}\) are modelled by their constraint equation descriptions. The clamped-free elastic model is applied to the last link of the space manipulator. The first mode is introduced in both transverse directions.

Fig. 1
figure 1

A two-link space manipulator model

To compose matrices properly, it has to be considered that the state vector in (10) includes all three bodies and the elastic modes are applied only to the last link. It yields

$$\left[\begin{array}{cc}\left[\begin{array}{cc}{\varvec{M}}({\varvec{x}}({\varvec{t}}))& {{{\varvec{L}}({\varvec{x}}({\varvec{t}}))}^{\boldsymbol{^{\prime}}}}^{{\varvec{T}}}\\ {{\varvec{L}}({\varvec{x}}({\varvec{t}}))}^{\boldsymbol{^{\prime}}}& {{\varvec{I}}}_{2}\end{array}\right]& \left[\begin{array}{c}{{\varvec{B}}({\varvec{x}}({\varvec{t}}))}^{{\varvec{T}}}\\ {0}_{16{\varvec{x}}2}\end{array}\right]\\ \begin{array}{cc}{\varvec{B}}({\varvec{x}}({\varvec{t}}))& {0}_{16{\varvec{x}}2}\end{array}& {0}_{16{\varvec{x}}16}\end{array}\right]\left[\begin{array}{c}\dot{{\varvec{w}}}\left({\varvec{t}}\right)\\ \ddot{{\varvec{\eta}}}\left({\varvec{t}}\right)\\{\varvec{\lambda}}\left({\varvec{t}}\right)\end{array}\right]=\left[\begin{array}{c}{\varvec{f}}\left({\varvec{t}}\right)\\ -\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left(2{{\varvec{\omega}}}_{{\varvec{i}}}{{\varvec{\zeta}}}_{{\varvec{i}}}\right)\dot{{\varvec{\eta}}}\left({\varvec{t}}\right)-\mathbf{d}\mathbf{i}\mathbf{a}\mathbf{g}\left({{\varvec{\omega}}}_{{\varvec{i}}}^{2}\right){\varvec{\eta}}\left({\varvec{t}}\right)\\{\varvec{\mu}}({\varvec{x}}({\varvec{t}}))-2\boldsymbol{\alpha }\dot{{\varvec{\phi}}}({\varvec{x}}({\varvec{t}}))-{{\varvec{\beta}}}^{2}{\varvec{\phi}}({\varvec{x}}({\varvec{t}}))\end{array}\right],$$
(17)

where \({{\varvec{L}}}^{\boldsymbol{^{\prime}}}=\left[\begin{array}{cc}{0}_{12\times 2}& {\varvec{L}}\end{array}\right]\). Equation (17) describes the complete constrained system dynamics with the elastic link. Matrix \({\varvec{B}}({\varvec{x}}({\varvec{t}}))\) is of size 16 × 18 so the total number of constraints is 16: 5 per each link and 3 for each linear and angular momentum conservation. The total size of left-hand side matrix is 36 × 36. 36 states represent 18 linear and angular accelerations, 2 elastic modes and 16 constraints.

Numerical Study of the Rigid-Flexible Space Manipulator Model

The numerical example, which illustrates the effectiveness of the rigid-flexible dynamics derived in the paper, is presented in this section. For clarity, the study is performed for a case of planar motion. The model derived in the previous section is also compared to the analogous, but fully rigid space manipulator. The initial state for the space manipulator is with its stretched robotic arm.

All velocities and modes are equal to zero. The simulation lasts 5 s and the open-loop control input is applied as the sinusoid of the amplitude equal to 0.5 Nm and period of 1 s. The torque is applied to both joints and it acts in Z axis, so the space manipulator remains on the XY-plane. The flexible link first mode frequency is 5 Hz and the damping coefficient is equal to 3e − 2. Mass of the base is 4 kg, its inertia is 0.4 kg m2 and the side length is equal to 1 m. Both robotic arm’s links are identical. They are 1 m long, their mass is 1 kg each and inertia equals to 0.1 kg m2.

Figure 2 presents the modal state and its derivative. At the beginning, the mode excites at higher frequency and later, it is damped and slows down to match the control input frequency.

Fig. 2
figure 2

Course of the flexible mode state and its derivative over the simulation

These results are compared to the analogous rigid manipulator behavior with the same open-loop control input. The top plot in Fig. 3 shows the elastic space manipulator end effector trajectory with respect to the end effector of the rigid one in the inertial frame. In the bottom plot, the absolute difference as a function of time is presented. The end effector trajectory differences result from two factors, i.e. different joint angles due to influence of the vibrating link and the elastic deflection itself. The links adopted for the example are short and the difference in magnitudes of end effector motions, on the top plot of Fig. 3, reaches to over 1.7 mm. For much longer links typical for the space manipulator, if precision motions of the end effector are required, the difference may matter.

Fig. 3
figure 3

Comparison of end effectors trajectories in inertial frame

Figure 4 presents the differences in the base and joints angles between flexible and rigid models. The differences lay within fraction of degree. As a reference for relative differences the base and joint angles of the flexible case are shown in Fig. 5.

Fig. 4
figure 4

Comparison of base and joint angles between flexible and rigid model

Fig. 5
figure 5

Base and joint angles for the flexible space manipulator

Conclusions and Future Research Prospects

The paper presents a complete quaternion-based constrained space manipulator system modeling combined with the assumed mode method for adding elastic effects from its flexible links. The rigid-flexible space manipulator dynamics model proved its effectiveness in numerical simulations, and suitability for a scalable dynamical system models derivation. The complete rigid-flexible space manipulator dynamics is planned to be applied to develop a multi-link space manipulator model dedicated for servicing space missions. Also, the effectiveness of the dynamics modeling is planned to be verified for controller designs for space missions.