1 Introduction

Rendezvous/docking is a critical technology in performing missions between space vehicles [1]. This technology, which involves aligning the relative motion of two spacecraft in orbit and structurally connecting them, was first demonstrated during NASA's Gemini project in the 1960s, aimed at verifying technology development for lunar exploration missions [2, 3]. Since the successful docking missions between the US Apollo and the Soviet Soyuz spacecraft, the development of rendezvous/docking technology has been actively pursued [4]. Unlike the past, where humans manually controlled the process, there is currently active development of automated rendezvous/docking technologies [5]. Many studies are being conducted to utilize this technology in on-orbit servicing (OOS) applications, emphasizing the necessity of precise and accurate rendezvous/docking technology development for such purposes [6,7,8].

The development of rendezvous/docking technology requires performance evaluation through testing before actual operation. Conducting tests in the actual space environment entails significant costs and risks. Therefore, it is necessary to simulate appropriate space environments on the ground. Various testing methods have been used to simulate microgravity environments [9]. The use of air bearings involves suspending objects in mid-air to create a frictionless surface environment for testing [10,11,12]. While this method allows for relatively easy setup of test environments and long-term testing, it is limited to a 3 degree of freedom (DOF) environment. Limiting the analysis to only 2D and rotational motion makes it challenging to assess performance beyond this scope. The neutral buoyancy method, which utilizes buoyancy in a water environment, allows for simulations of three-dimensional motion. However, it is affected by fluid viscosity, and it is not possible to conduct tests using actual satellites [13]. Another method involves attaching cables to satellite models to simulate docking in three-dimensional space. However, controlling tension and dealing with friction pose challenges in this method [14, 15].

In contrast, utilizing robots for test offers significant advantages in implementing 6 DOF and simulating microgravity conditions. It enables relatively high-precision performance verification [16,17,18,19]. A prominent example of a test facility using robots for rendezvous/docking simulation is the EPOS at the German Aerospace Center (DLR) [20, 21]. This facility aims to test the final approach operation phase by attaching satellite bodies to the ends of two robotic arms. It allows dynamic motion in 6 DOF while implementing actual space environment conditions through lighting configurations. The motion of the two satellites is converted into the movement of the robotic arms to verify the satellite's motion, and this facility has been continuously developed over time. Additionally, the US Naval Research Laboratory has constructed a test facility using two robotic arms with 6 DOF to evaluate sensor performance for rendezvous/docking [22]. Furthermore, the Japan Aerospace Exploration Agency (JAXA) is developing the SATDyn (Satellite dynamics test platform for on-orbit servicing technology) facility, utilizing a 6 DOF robotic arm to simulate rendezvous and capturing dynamics [23].

The literature previously mentioned on the robot testbed focuses on topics such as robot arm control, and considerations for facility operation. In contrast, the main purpose of this paper is to transform a wider range of relative motions of satellites into ground-based test facilities with limited reach. To achieve this, as shown in Fig. 1, the "Initial Configuration" phase determines the initial poses of the satellites, and the robot based on the initial pose of the two satellites. In the "Relative Motion Simulation" phase, the relative motion of the satellite is converted into a form that can be accommodated by the ground testbed. Also, trajectory planning is performed to interpolate the satellite's state, which is updated slower than the robot's control frequency. The primary purpose of this phase is to validate that the transformed and planned relative motion can be replicated before operating the actual robotics testbed, which is directly related to the subject of this paper. Finally, the validated relative motion simulation will be emulated on an actual testbed in real time, with the satellite's state being updated based on control inputs received from the satellite's GNC (Guidance, Navigation, and Control) PC, functioning as a feedback controller. However, the content of this phase is part of our future work and is not covered in this paper.

Fig. 1
figure 1

Diagram of relative motion transformation

In relation to these points, the primary contribution of this paper is presenting a method to simulate relative motion along a predefined straight line, rather than expanding the testbed to accommodate extensive relative motion of satellites. The main strategy involves aligning the Line-of-Sight (LOS) between two satellites with a reference direction during the "Initial Configuration" phase. This strategy is maintained during the "Relative Motion Simulation" phase, which is based on discrete position and attitude data calculated using the satellite’s propagator.

However, even with the transformed relative motion of satellites, issues such as joint range limitations, kinematic singularities, and collisions can arise. Considerable research has already been conducted to address these problems. For example, by utilizing the null space of a redundant robot, it is possible to transfer the payload's movement to a rail or find a posture within the joint range [24]. In [25], the RRT-connect method is used to find a configuration that can avoid collisions in a static state, while [26] introduces a method for dynamically adjusting the robot's path to avoid obstacles in real-time. In [27], a method for avoiding singularities in dynamic situations using a task-priority approach is introduced, which can be applied to ensure stability in systems simulating the relative motion of large-scale satellites. Although these aspects are reflected in "Adjusting for collision-free configuration" and "Joint motion optimization" in Fig. 1, they are not the focus of this paper. Instead, as a second contribution, this study proposes a method to reduce the attitude changes during simulation compared to the initial attitude of the satellites, thereby passively mitigating the movement of the robot's end effector.

Even when considering the transformed relative motion and its rotation redistribution, the propagation period of a satellite is much slower than the typical control frequency of a robot. Therefore, the trajectory must be planned so that the robot can appropriately follow the given satellite's state. While a simple point-to-point path planning approach may allow for the simulation of the satellite’s position and attitude at specific times, it results in initial and final velocities and accelerations being zero, failing to ensure kinematical relationships. Estimating relative velocity from sensors on the satellite could lead to issues with the reliability of test results. Therefore, the third contribution of this paper is the trajectory planning, which considers the robot's velocity and acceleration, and also kinematical relationships by using Hermite interpolation employed in STK (System Tool Kit) [28].

Hence, this paper is organized as follows: Sect. 2.1 introduces an overview of the testbed, which is the primary focus of this paper, and the reference frame used for simulations on this testbed. Section 2.2 discusses the transformation that aligns the Line of Sight (LOS) of the two satellites in a predefined direction to simulate the relative motion of satellites, which requires a large workspace, on a smaller ground-based testbed. Section 2.3 introduces rotational redistribution to minimize the rotational motion of individual satellites while maintaining relative motion. Since the transformed and modified relative motion is given as discrete positions, velocities, and orientations, Sect. 3 discusses the path planning that ensures the kinematical relationships of the discretized satellite states while imposing constraints on the robot's velocity and acceleration. Finally, Sect. 4 presents the conclusion.

2 Relative Motion Transformation for Ground Testbed

2.1 Reference Frame

Typically, the position or orientation of a satellite is defined in either the Earth Centered Inertia (ECI) frame or Earth Centered Earth Fixed (ECEF) frame. Alternatively, for rendezvous/docking, the relative navigation solutions used to be calculated in the coordinate system of the Target or Chaser satellite, the former being serviced and the latter providing the service. However, transforming the coordinate systems defined on Earth or satellites to a robotics test bed introduces limitations on simulations due to the limited workspace of robots or collisions caused by facilities. Therefore, there is a need to establish a new coordinate system to facilitate the transformation of the relative motion between the two satellites.

Based on the test bed trends outlined in [16,17,18,19,20,21], the proposed facility comprises a configuration similar to Fig. 2. In this paper, a robot moving on rails is referred to as the Chaser robot, which delivers the Chaser. The Target robot, located on the opposite side, has a fixed base and controls the motion of the Target. The Chaser robot in this research is KR210 R2700, with a payload of 210 kg and a reach of about 2.7 m. The Target robot is KR510 R3100 with a payload of 510 kg and a reach of about 3.1 m. The inertia frame to be used in the test bed can be defined anywhere, but for computational convenience, it is considered to be identical to the base frame \(\{TB\}\) of the Target robot, which remains stationary in position and orientation. The initial position and orientation of the Target satellite are defined in \(\{TB\}\), while those of the Chaser satellite are derived from the relative navigation solution with respect to the Target satellite.

Fig. 2
figure 2

Robotics ground test bed for rendezvous and docking simulations

2.2 Projecting Line of Sight in a Specified Direction

The relative motion between two satellites in space is often extensive. For example, if the Chaser’s position and orientation profile, in Fig. 3, is specified in the Radial In-track Cross-track (RIC) frame of the Target, aligning the C-axis of the Target with the rail direction of the test bed may not entirely replicate the relative motion using a robot shown in Fig. 4. Here, the robot’s maximum reach is less than 2.7 m. Even if the \(I\)-axis of the Target is parallel to the rail, it would still not adequately follow the motion in cross-track direction.

Fig. 3
figure 3

Relative motion with respect to the RIC frame, expressed in the plane including the in-track and cross-track axes of the Target

Fig. 4
figure 4

Example of the workspace of a 6 DOF manipulator

In this context, it is evident that the maximum distance between Chaser and Target at each snapshot depicted in Fig. 3 aligns with the LOS direction from Chaser to Target. This indicates that the rail direction capable of achieving the longest distance must align with the LOS. Referring to Fig. 5, this can be achieved by aligning \({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\), the LOS unit vector expressed in the Target’s body frame \(\{T\}\), with \({}^{TB}\widehat{{\varvec{x}}}\), the \(x\)-axis of \(\{TB\}\). Additionally, to determine the orientation of Chaser and Target in 3D space, at least two axes must be defined. One is \({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\) and the other axis \({}^{T}{\widehat{{\varvec{p}}}}_{r}^{\prime}\) can be obtained by projecting an arbitrary unit vector \({}^{T}{\widehat{{\varvec{p}}}}_{r}\) expressed in \(\{T\}\) onto the plane normal to \({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\). In other words, the attitude of Target with respect to \(\{TB\}\), \({}^{TB}{{\varvec{R}}}_{T}\), can be defined as shown in Eq. (1). Once the position of the Target with respect to the base frame \(\{TB\}\), denoted as \({}^{TB}{{\varvec{p}}}_{T}\), is determined, the homogeneous transform matrix \({}^{TB}{{\varvec{T}}}_{T}\) defining the initial configuration of the Target can be expressed as shown in Eq. (2). Then, the pose of the Chaser, derived from the relative navigation solution with the Target, represented as \({}^{T}{{\varvec{T}}}_{C}\), can be expressed in \(\{TB\}\) as demonstrated in Eq. (3) (see Fig. 6).

Fig. 5
figure 5

Initial configuration of the Target with respect to \(\{{\varvec{T}}{\varvec{B}}\}\)

Fig. 6
figure 6

The side view of the Chaser and Target mounted on robotics test bed

$${}^{TB}{{\varvec{R}}}_{T}={\left[\begin{array}{ccc}{}^{T}{\widehat{{\varvec{p}}}}_{C2T}& \frac{{{}^{T}{{\varvec{p}}}_{r}}^{\prime}\times {}^{T}{\widehat{{\varvec{p}}}}_{C2T}}{\left|{{}^{T}{{\varvec{p}}}_{r}}^{\prime}\times {}^{T}{\widehat{{\varvec{p}}}}_{C2T}\right|} & \frac{{{}^{T}{{\varvec{p}}}_{r}}^{\prime}}{\left|{}^{T}{{\varvec{p}}}_{r}^{\prime}\right|}\end{array}\right]}^{T},$$
(1)
$${}^{TB}{{\varvec{T}}}_{T}=\left[\begin{array}{cc}{}^{TB}{{\varvec{R}}}_{T}& {}^{TB}{{\varvec{p}}}_{T}\\ \begin{array}{ccc}0& 0& 0\end{array}& 1\end{array}\right],$$
(2)
$${}^{TB}{{\varvec{T}}}_{C}= {}^{TB}{{\varvec{T}}}_{T}\times {}^{T}{{\varvec{T}}}_{C}.$$
(3)

After the satellites arrangement was determined in the test bed, an offset was simply added to \({}^{TB}{{\varvec{p}}}_{T}\). when changing the position of the satellite pair. If it is necessary to change the orientation of the satellite pair due to issues such as collisions, the two satellites can be rotated by an angle \({\theta }_{los}\) around the \({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\) axis to ensure that the LOS direction remains parallel to the \(x\)-axis of \(\{TB\}\). This kind of rotation can be converted into a rotation matrix of Eq. (4) and applied to update the initial orientation of the Target by post-multiplying it with Eq. (1), where \({{\varvec{I}}}_{3}\) denotes 3 \(\times \) 3 identity matrix and superscript \(\times \) represents skew-symmetric matrix.

$$ \varvec{R}\left( {{}_{{}}^{T} \varvec{\hat{p}}_{{C2T}} ,~~\theta _{{los}} } \right) = \varvec{I}_{3} + {\text{sin}}\left( {\theta _{{los}} } \right){}_{{}}^{T} \varvec{\hat{p}}_{{C2T}}^{ \times } + \left\{ {1 - \cos \left( {\theta _{{los}} } \right)} \right\}\left( {{}_{{}}^{T} \varvec{\hat{p}}_{{C2T}}^{ \times } } \right)^{2} $$
(4)

After initial configuration, collisions and robot joint limit issues should not occur during the rendezvous simulation. Thus, we adhere to the strategy of aligning the LOS unit vector with the \(x\) axis of \(\{TB\}\), while using the relative navigation solution to maintain the relative position and attitude. In Fig. 7, the subscript \(t\) denotes the axis or vector at discrete time \(t\). As assuming the \(\{T\}\) at \(t-1\) is the inertia frame, then the LOS unit vector \({\left({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\right)}_{t}\) due to the relative motion of the Chaser at \(t\) will not be parallel to \({}^{TB}\widehat{{\varvec{x}}}\), as shown in Fig. 7a. To specify the transformation equation for relative motion from the relationship between the two vectors, we align the \(\{T\}\) with \(\{TB\}\) while preserving the relative pose of the Target and Chaser. This ensures that the relationship between \({\left({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\right)}_{t}\) and \({}^{TB}\widehat{{\varvec{x}}}\) becomes identical to the relationship between \({\left({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\right)}_{t}\) and \({{}^{T}\widehat{{\varvec{x}}}}_{t}\). Then, the rotation matrix \(R\) to align \({\left({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\right)}_{t}\) with \({}^{T}\widehat{{\varvec{x}}}\) can be derived using Rodrigues’ rotation formula. When defining the angle between the two vectors as \(\psi \), and the cross product of them as \(\widehat{{\varvec{\omega}}}\), \({\varvec{R}}\) is derived according to Eqs. (5)–(7). Since \({\varvec{R}}\) and \({}^{TB}{{\varvec{R}}}_{T}\) are equivalent, Eq. (7) becomes the rotation matrix between \(\{TB\}\) and \(\{T\}\) described in Fig. 7b.

Fig. 7
figure 7

Iterative Chaser motion parallel to the rail direction (b) or not (a)

$$\widehat{{\varvec{\omega}}}={}^{T}{\widehat{{\varvec{p}}}}_{C2T}\times {\left[1\; 0 \;0\right]}^{T},$$
(5)
$$\psi =\text{acos}\left({}^{T}{\widehat{{\varvec{p}}}}_{C2T}\cdot {\left[1\; 0 \;0\right]}^{T}\right),$$
(6)
$${\varvec{R}}={\varvec{R}}\left(\widehat{{\varvec{\omega}}}, \psi \right),$$
(7)

To validate this, trajectories of the Chaser's position and attitude relative to the Target's body frame were generated, and the error from the original relative motion were compared. For clarity, assuming that \(\{T\}\) is same with the Target’s RIC frame, the position profile of the Chaser can be represented as Eq. (8), with in-plane and out-of-plane paths illustrated in Fig. 8. The relative attitude is expressed in the form of a rotation matrix as shown in Eq. (9), ensuring that the Chaser's \(z\)-axis is constantly directed towards the Target.

Fig. 8
figure 8

Chaser’s in-plane (a) and out-of-plane (b) motion with respect to Target’s body frame

$$({{}^{T}{y}_{T2C})}_{t}={y}_{t}= -25+0.03t$$
$$({{}^{T}{x}_{T2C})}_{t}= \left\{\begin{array}{c}\begin{array}{cc}0.005{\left({y}_{t}+25\right)}^{2}{\left({y}_{t}+15\right)}^{2} & ({y}_{t}<-15)\end{array} \\ \begin{array}{cc}-0.001{\left({y}_{t}+15\right)}^{2}{\left({y}_{t}+5\right)}^{2}& (-15\le {y}_{t}<-5)\end{array}\\ \begin{array}{cc}0 & (-5\le {y}_{t}\end{array})\end{array}\right.$$
$$({{}^{T}{z}_{T2C})}_{t}= \left\{\begin{array}{c}\begin{array}{cc}-0.005{\left({y}_{t}+25\right)}^{2}{\left({y}_{t}+15\right)}^{2} & ({y}_{t}<-15)\end{array} \\ \begin{array}{cc}-0.002{\left({y}_{t}+15\right)}^{2}{\left({y}_{t}+5\right)}^{2} & (-15\le {y}_{t}<-5)\end{array}\\ {\begin{array}{cc}0 & (-5\le y\end{array}}_{t})\end{array}\right. ,$$
(8)
$${}^{T}{{\varvec{R}}}_{C}=\left[\begin{array}{ccc}{}^{T}\widehat{{\varvec{x}}}& {}^{T}\widehat{{\varvec{y}}}& {}^{T}\widehat{{\varvec{z}}}\end{array}\right]=\left[\begin{array}{ccc}{}^{T}\widehat{{\varvec{y}}}\times {}^{T}\widehat{{\varvec{z}}}& {}^{T}\widehat{{\varvec{z}}}\times {\left[1\; 0 \;0\right]}^{T}\times {}^{T}\widehat{{\varvec{z}}}& -{}^{T}{\widehat{{\varvec{p}}}}_{T2C}\end{array}\right].$$
(9)

The testbed in Fig. 2, was created using Simulink's Simscape Multibody Toolbox and Robotics System Toolbox with a rail length of 30 \(m\) and the simulation conditions presented in Table 1. As shown in Fig. 9a, KR210 R2700, with a maximum reach of approximately 2.7 m, cannot perfectly simulate the relative motion due to its reach and joint limitations. This figure includes Chaser’s trajectory with respect to \(\{TB\}\). The legend ‘Desired’ refers to the generated satellite trajectory and ‘Result’ represents measurements from Transform Sensor of Simscape Toolbox. In contrast, the relative motion proposed in this Section has the benefit that the only motion is in the direction of \(x\)-axis of \(\{TB\}\), as shown in Fig. 9b, where ‘Original’ represents the generated trajectory and ‘Transformed’ denotes the proposed one. The error of Chaser’s trajectory with respect to \(\{T\}\) is presented in Fig. 10. The position error and attitude error are both negligible, at the levels of 1e-14 \(m\) and 1e-6 \(rad\), respectively. These results indicate that relative motions exceeding the robot's workspace can be adequately simulated along a straight line without displacement along the \(y\) and \(z\) axes of \(\{TB\}\). For a more intuitive comparison, the motion of the robot is visualized in Fig. 11. The first row of Fig. 11 represents the case where \(\{T\}\) is the inertial coordinate system with ‘Original’ trajectory, while the second row represents the case with ‘Transformed’.

Table 1 Simulation condition of robotics testbed in Simulink
Fig. 9
figure 9

Chaser’s trjaectory expressed in \(\{TB\}\)

Fig. 10
figure 10

Position (a) and attitude (b) error converted relative motion compared to its origin

Fig. 11
figure 11

Relative motion using ‘Original’ (first row) and ‘Transformed’ (second row) trajectory

2.3 Reducing Attitude Change through Rotation Redistribution

The method of relative motion transformation introduced in Sect. 2.2 aligns the LOS axis with the \(x\)-axis of \(\{TB\}\). In other words, if the alignment of only one axis is ensured in three dimensions, unpredicted rotation with respect to the LOS can occur. Unnecessary rotations can impose stress on the robot's joints or lead to collisions with facilities. Thus, this section explains the method of reducing or distributing the rotation of satellite by applying a common rotational angle about the LOS to the satellite pair. At discrete time \(t\), if a satellite has current attitude matrix \({\varvec{R}}\left({{}^{TB}\widehat{{\varvec{\omega}}}}_{t}, {\psi }_{t}\right)\) where \({{}^{TB}\widehat{{\varvec{\omega}}}}_{t}\) is an arbitrary vector expressed in \(\{TB\}\) and \({\psi }_{t}\) is an angle, this can be represented by the satellite’s initial attitude \({\varvec{R}}\left({}^{TB}{\widehat{{\varvec{\omega}}}}_{0}, {\psi }_{0}\right)\) and the attitude change \(\Delta {\varvec{R}}\) between the initial and current attitude. The \(\Delta {\varvec{R}}\) again can be separated into the rotational matrix \({\varvec{R}}\left({}^{0}\widehat{{\varvec{l}}}, {\theta }_{los}\right)\) representing a rotation of \({\theta }_{los}\) about the LOS with respect to the initial attitude, and \({\varvec{R}}({}^{0}\widehat{{\varvec{k}}}, \phi )\) excluding the LOS based rotation, as shown in Eq. (10).

$${\varvec{R}}\left({{}^{TB}\widehat{{\varvec{\omega}}}}_{t}, {\psi }_{t}\right)={\varvec{R}}\left({}^{TB}{\widehat{{\varvec{\omega}}}}_{0}, {\psi }_{0}\right) \Delta {\varvec{R}},$$
$$\Delta {\varvec{R}}={\varvec{R}}\left({}^{0}{\widehat{{\varvec{\omega}}}}_{t}, \delta \psi \right)=\boldsymbol{ }{\varvec{R}}\left({}^{0}\widehat{{\varvec{l}}}, {\theta }_{los}\right){\varvec{R}}({}^{0}\widehat{{\varvec{k}}}, \phi ).$$
(10)

Since Eq. (4) is equivalent to Eq. (11) and the slopes of the cosine functions in the diagonal elements are less than or equal to zero, \(\psi \) is minimized when the trace is maximized [30] by Eq. (12) where \(tr({\varvec{R}})\) is trace of matrix \({\varvec{R}}\). In the same manner, minimum \(\delta \psi \) can be found by maximizing the trace of \(\Delta {\varvec{R}}\), \(tr(\Delta {\varvec{R}})\). It can be calculated using Eq. (13) where the dot product of \({}^{0}\widehat{{\varvec{k}}}\) and \({}^{0}\widehat{{\varvec{l}}}\) is defined as \(G\), the coefficients of \(\text{cos}({\theta }_{los})\) and \(\text{sin}({\theta }_{los})\) are denoted as A and B, respectively. Then, \(tr(\Delta {\varvec{R}})\) is maximized if \({\theta }_{los}-{\text{tan}}^{-1}(B/A)=0\), where \({\theta }_{los}\) is given by Eq. (14).

$${\varvec{R}}\left(\widehat{{\varvec{\omega}}}, \psi \right)=\left[\begin{array}{ccc}\text{cos}\psi +{\widehat{\omega }}_{1}^{ 2}(1-\text{cos}\psi )& {\widehat{\omega }}_{1}{\widehat{\omega }}_{2}\left(1-\text{cos}\psi \right)-{\widehat{\omega }}_{3}\text{sin}\psi & {\widehat{\omega }}_{1}{\widehat{\omega }}_{3}\left(1-\text{cos}\psi \right)+{\widehat{\omega }}_{2}\text{sin}\psi \\ {\widehat{\omega }}_{1}{\widehat{\omega }}_{2}\left(1-\text{cos}\psi \right)+{\widehat{\omega }}_{3}\text{sin}\psi & \text{cos}\psi +{\widehat{\omega }}_{2}^{ 2}\left(1-\text{cos}\psi \right)& {\widehat{\omega }}_{2}{\widehat{\omega }}_{3}\left(1-\text{cos}\psi \right)-{\widehat{\omega }}_{1}\text{sin}\psi \\ {\omega }_{1}{\widehat{\omega }}_{3}\left(1-\text{cos}\psi \right)-{\widehat{\omega }}_{2}\text{sin}\psi & {\widehat{\omega }}_{2}{\widehat{\omega }}_{3}\left(1-\text{cos}\psi \right)+{\widehat{\omega }}_{1}\text{sin}\psi & \text{cos}\theta +{\widehat{\omega }}_{3}^{ 2}(1-\text{cos}\psi )\end{array}\right],$$
(11)
$$\psi = {cos}^{-1}\left(\frac{tr\left({\varvec{R}}\right)-1}{2}\right) \left(0\le \psi \le \pi \right),$$
(12)
$$G={}^{0}\widehat{{\varvec{k}}}\bullet {}^{0}\widehat{{\varvec{l}}},$$
$$A=\left(\left(1+{G}^{2}\right) cos \phi + \left(1-{G}^{2}\right)\right),$$
$$B= - 2G sin \phi ,$$
$$C= \left(1-{G}^{2}\right) cos \phi + {G}^{2},$$
$$tr\left(\Delta {\varvec{R}}\right) = \sqrt{{A}^{2}+{B}^{2}}\mathit{cos}\left({\theta }_{los}-{\text{tan}}^{-1}(B/A)\right)+C,$$
(13)
$${\theta }_{los}= \left\{\begin{array}{c}\begin{array}{c}\begin{array}{cc}{\text{tan}}^{-1}(B/A)& (A>\end{array} 0)\\ \begin{array}{cc}\pi -{\text{tan}}^{-1}(B/A)& (A<0)\end{array}\end{array} \\ \begin{array}{c} \begin{array}{cc}\pi /2& (A=0, B>0)\end{array}\\ \begin{array}{cc} 0& (A=0, B<0)\end{array}\end{array}\end{array},\right..$$
(14)

To verify the results of the rotation offset presented in this section, the example from Sect. 2.2 was reused. The method proposed in this section can minimize attitude change only when considering individual satellites. However, if the \({\theta }_{los}\) of Target and Chaser differ, the relative attitude between two satellites cannot be maintained. Therefore, the averaged or interpolated \({\theta }_{los}\) should be substituted into Eqs. (10), and this can be described as a reduction or sharing of rotation rather than a complete minimization. In Fig. 12, the rotation angle \(\delta \psi \) between initial and current attitude of both Chaser and Target were depicted. The original one labeled as “Original” while the redistributed one after offset labeled as “Proposed”. The attitude changes of the Chaser decreased from a maximum of 8.95° to 0.35°, and the Target decreased from a maximum of 13.57° to 8.90°.

Fig. 12
figure 12

Satellite rotation angle

3 Trajectory Planning for Discrete Relative Motion

The control frequency of industrial robots is typically over 250 \(Hz\), while satellite control operates at around 10–20 \(Hz\). Therefore, to simulate the motion of a satellite with an update frequency of approximately 50–100 \(ms\) using a robot controlled at 4 \(ms\), interpolation is necessary. Interpolation refers to the method of generating a trajectory between given waypoints. The trajectory planning in task space involves solving inverse kinematics at each iteration, leading to a higher computational load and increased potential for singularity issues. Nevertheless, it allows the end effector to track the discrete positions, velocities, and accelerations of the given satellite. In Sect. 3.1, we discuss a trajectory planning method that is applicable for both translational and rotational motion while maintaining kinematical relationships. Additionally, Sect. 3.2 discusses methods for incorporating the robot's maximum speed and acceleration. Although not addressed in this paper, since the robotics system covered in this paper aims to maximize the Chaser robot’s base movement through null space optimization when the end effector moves in a direction parallel to the rail, the base's speed and acceleration serving as constraints on the trajectory.

3.1 Hermite Polynomial Trajectory

If the motion of the satellite and its desired robot configuration command are computed at a discrete time \({t}_{s}\), the robot will replictate the motion after a certain period time. Although the time difference is relatively short, there may be discrepancies between the relative state in simulation data and the sensor measurement attached to the satellite. Therefore, in this section, it is assumed that the satellite state and the desired configuration of the robot are computed in advance up to \({t}_{s}+k\) (\(k\ge 1\)) steps, and these are propagated to the manipulator.

In general, industrial robots plan continuous profiles for position (\({\varvec{x}}\)), velocity (\({\varvec{v}}\)), acceleration (\({\varvec{a}}\)), and jerk \(({\varvec{j}})\) to achieve high precision and minimize vibration or abrasion. Individual Lagrange interpolation for each element carries the risk of overlooking the kinematic relationships. Therefore, it is crucial to consider the boundary conditions for each element in all interpolations. Septic Hermite interpolation could be one option. This is because it can cover the first and higher-order derivatives when there are more than three waypoints, and it can generate a continuous jerk profile. Additionally, it is also a method used in the commercial orbit software System Tool Kit (STK) for interpolating satellite attitude to ensure kinematical relationships. This is represented in Eq. (15), where a continuous trajectory connecting two arbitrarily selected waypoints is referred to as a “segment”. The initial and final conditions of the segment are distinguished by subscripts 0 and 1, respectively. The superscript \((n)\) denotes the \(n\) th derivative, and \(T\) represents the duration of each segment. The elapsed time of the segment is denoted by \(t\), and such an expression ensures the continuity of each segment.

$$ \varvec{x}^{{\left( n \right)}} = \varvec{x}_{0} p_{0}^{{\left( n \right)}} + \varvec{x}_{1} p_{1}^{{\left( n \right)}} + \varvec{v}_{0} q_{0}^{{\left( n \right)}} + \varvec{v}_{1} q_{1}^{{\left( n \right)}} + \varvec{a}_{0} r_{0}^{{\left( n \right)}} + \varvec{a}_{1} r_{1}^{{\left( n \right)}} + \varvec{j}_{0} s_{0}^{{\left( n \right)}} + \varvec{j}_{1} s_{1}^{{\left( n \right)}} ~~~\left( {n = 0,1,2,3} \right), $$
$$\left\{\begin{array}{c}\begin{array}{cc}{p}_{0}= \frac{{\left(\text{T}-t\right)}^{4}\hspace{0.17em}\left({\text{T}}^{3}+4\hspace{0.17em}{\text{T}}^{2}\hspace{0.17em}t+10\hspace{0.17em}\text{T}\hspace{0.17em}{t}^{2}+20\hspace{0.17em}{t}^{3}\right)}{{\text{T}}^{7}}, & {p}_{1}=1-{p}_{0}\end{array} \\ \begin{array}{cc}{q}_{0}= \frac{t\hspace{0.17em}{\left(\text{T}-t\right)}^{4}\hspace{0.17em}\left({\text{T}}^{2}+4\hspace{0.17em}\text{T}\hspace{0.17em}t+10\hspace{0.17em}{t}^{2}\right)}{{\text{T}}^{6}}, & {q}_{1}= -\frac{{t}^{4}\hspace{0.17em}\left(15\hspace{0.17em}{\text{T}}^{3}-39\hspace{0.17em}{\text{T}}^{2}\hspace{0.17em}t+34\hspace{0.17em}\text{T}{t}^{2}-10\hspace{0.17em}{t}^{3}\right)}{{\text{T}}^{6}} \end{array} \\ \begin{array}{c}\begin{array}{cc} {r}_{0}=\frac{{t}^{2}\hspace{0.17em}{\left(\text{T}-t\right)}^{4}\hspace{0.17em}\left(\text{T}+4\hspace{0.17em}t\right)}{2\hspace{0.17em}{T}^{5}}, & {r}_{1}= \frac{{t}^{4}\hspace{0.17em}{\left(\text{T}-t\right)}^{2}\hspace{0.17em}\left(5\hspace{0.17em}\text{T}-4\hspace{0.17em}t\right)}{2\hspace{0.17em}{\text{T}}^{5}} \end{array}\\ \begin{array}{cc}{s}_{0}= \frac{{t}^{3}\hspace{0.17em}{\left(\text{T}-t\right)}^{4}}{6\hspace{0.17em}{\text{T}}^{4}}, & {s}_{1}= -\frac{{t}^{4}\hspace{0.17em}{\left(\text{T}-t\right)}^{3}}{6\hspace{0.17em}{\text{T}}^{4}}\end{array}\end{array}\end{array}\right..$$
(15)

The trajectory planning described above can also be applied to the attitude, angular velocity, and angular acceleration of the satellite. When the difference between the initial and final orientations of each segment is represented by a rotation vector \(\boldsymbol{\varphi }\), the first and second derivatives of the rotation vector are denoted as \(\dot{\boldsymbol{\varphi }}\) and \(\ddot{\boldsymbol{\varphi }}\), respectively. If the magnitude of the rotation vector \(\left|\boldsymbol{\varphi }\right|\) is sufficiently small, the following relationships hold when representing the satellite's orientation as a quaternion \(({\varvec{q}})\) and its angular velocity and acceleration as \({\varvec{\omega}}\) and \(\dot{{\varvec{\omega}}}\), respectively. [28, 29]

$${\varvec{q}}=\left[\begin{array}{c}0\\ \varphi /2\end{array}\right],$$
$${\varvec{\omega}}\simeq \dot{\boldsymbol{\varphi }},$$
$$\dot{{\varvec{\omega}}}\simeq \ddot{\boldsymbol{\varphi }}.$$
(16)

When the relative distance between satellites is under 100 \(m\), the relative angular velocity of the satellite is typically a few deg/s, and when \(T\) is about 0.1 \(s\), substituting \({\varvec{x}}=\boldsymbol{\varphi }\), \({\varvec{v}}={\varvec{\omega}}\) and \({\varvec{a}}=\dot{{\varvec{\omega}}}\) into Eqs. (15) allows for planning the rotational motion. If \(\left|\boldsymbol{\varphi }\right|\) or \(T\) is not sufficiently small, the error between the state of shorter period propagation and the planned trajectory may increase. However, there is no error at the boundaries of the segment. Therefore, the path planning discussed in this section focuses on discretely simulating the state of the given satellite at \(t=T\) for each segment. As a result, the trajectory of the segment may differ from the actual one, and sometimes a trajectory that cannot be simulated by the robot may be required. To prevent this, a method for limiting the maximum speed and acceleration of the trajectory is discussed in Sect. 3.2.

3.2 S-curve Considering Maximum Velocity and Acceleration

In fact, in final approach phase, the relative velocity of satellites is typically on the order of a few \(cm\)/\(s\) or a few deg/s, so a polynomial trajectory may suffice. Nevertheless, considering the maximum speed and acceleration of the robot, the following approach can be considered: when the displacement \(h\) of the path is positive and it is desired to limit the maximum speed and acceleration of the robot, a trapezoidal velocity profile like that shown in Fig. 13a could be one of solutions.

Fig. 13
figure 13

Trapezoidal and s-curve velocity profile

Since the trapezoidal profile consists of linear functions for the rising segment (\(t\le {T}_{a}\)), the falling segment (\(t\ge T-{T}_{d}\)), and the cruising segment (\({T}_{a}<t<T-{T}_{d}\)), both acceleration and jerk are discontinuous. Therefore, industrial robots prefer an s-curve trajectory like that shown in Fig. 13 (b). There are various methods for planning an s-curve, but in this paper, we interpolated the rising and falling segments using 7th-order polynomial equations as described in Sect. 3.1. To limit the maximum speed and acceleration of the robot, the s-curve was replaced with a trapezoidal profile and its characteristics were utilized.

In Fig. 13 (b), \({a}_{max}\) represents the point where the slope of \(v(t)\) is maximum. For a 7th-order polynomial, it occurs at \(t=0.5{T}_{a}\) where Eq. (17) yields the maximum acceleration. In this equation, \({v}_{c}\) and \({a}_{c}=0\) represent the velocity and acceleration in the cruising segment, respectively. When replacing the rising segment of the S-curve with the rising segment of the trapezoidal profile, the effective acceleration \({a}_{eff}\) and \({a}_{\text{max}}\) of the trapezoidal profile are related by Eq. (18).

$${a}_{\text{max}}=\frac{30({v}_{c}-{v}_{0})-7\left({a}_{c}+{a}_{0}\right){T}_{a}}{{T}_{a}},$$
(17)
$${a}_{\text{eff}}=\frac{({v}_{c}-{v}_{0})}{{T}_{a}}=\frac{16{a}_{max}+7({a}_{c}+{a}_{0})}{30}.$$
(18)

By substituting \({T}_{d}\), \({a}_{1}\), and \({v}_{1}\) for \({T}_{a}\), \({a}_{0}\), and \({v}_{0}\) in the descending segment, the minimum acceleration \({a}_{min}\) can be found. Moreover, if the durations of the rising and falling segments exceed half of the segment duration \(T\), neither the trapezoidal nor the s-curve trajectory can be implemented. Therefore, \({a}_{\text{eff}}\) must satisfy Eq. (19), and if the equation holds true, \({T}_{a}={T}_{d}=\frac{1}{2}T\) with no cruising segment \({T}_{c}\), corresponding to a triangular profile [31].

$${a}_{eff}\ge \frac{2h-T\left({v}_{0}+{v}_{1}\right)+\sqrt{4{h}^{2}-4h\left({v}_{0}+{v}_{1}\right)T+2\left({v}_{0}^{2}+{v}_{1}^{2}\right){T}^{2}}}{{T}^{2}}.$$
(19)

The cruising velocity of the S-curve can be expressed as a function of \({a}_{\text{eff}}\) from the characteristics of the trapezoidal trajectory, as shown in Eq. (20). Additionally, if the required cruising speed is too high, path planning may not be feasible, and therefore, it should not exceed the maximum allowable cruising speed \({v}_{\text{max}}\), satisfying Eq. (21).

$${v}_{c}=\frac{1}{2}\left({v}_{0}+{v}_{1}+{a}_{\text{eff}}T-\sqrt{{a}_{\text{eff}}^{2}{T}^{2}+2{a}_{eff}\left({v}_{0}+{v}_{1}\right)T-4{a}_{\text{eff}}h-{\left({v}_{0}-{v}_{1}\right)}^{2}}\right),$$
(20)
$${v}_{\text{max}}\le \sqrt{{a}_{eff}h+\frac{{v}_{0}^{2}+{v}_{1}^{2}}{2}}.$$
(21)

The summary of this section for the ascending segment is as follows: Given the robot's maximum velocity and acceleration as \({v}_{u}\)​ and \({a}_{u}\)​, respectively, simultaneous satisfaction of Eqs. (17) and (21) allows for the generation of a 7th-order interpolated s-curve trajectory. Examples of trajectory planning using the boundary conditions for the satellite’s \(x\) position in Table 2 are presented in Fig. 14. Assuming the maximum speed and acceleration as |\({v}_{u}|=5\text{cm}/\text{s}\) and |\({a}_{u}|=180 \text{cm}/{\text{s}}^{2}\), Fig. 14 represents a nearly straight movement trajectory. When the equal condition of Eq (19) is satisfied, the trajectory looks like a triangular one (min \({a}_{\text{eff}}\) in Fig. 14), while the equal condition of Eq. (22) results in the trajectory closer to a linear motion (max \({a}_{\text{eff}}\) in Fig. 14).

Table 2 Boundary conditions for \(k\)-\(th\) segment (\(T=0.1\text{s}\))
Fig. 14
figure 14

S-curve where the effective acceleration is minimum (min \({a}_{\text{eff}}\)) or maximum (max \({a}_{\text{eff}}\))

$${a}_{\text{eff}}\le \text{min}\left(\frac{16{a}_{u}+7{a}_{0}}{30}, \frac{1}{h}\left({v}_{u}^{2}-\frac{{v}_{0}^{2}+{v}_{1}^{2}}{2}\right)\right).$$
(22)

4 Conclusion

This paper presents a method to simulate rendezvous and docking operations within the constraints of a ground-based testbed. By aligning the line-of-sight between satellites with a fixed reference direction, the approach transforms complex satellite motions into a manageable, straight-line simulation. This method effectively addresses the limitations of testbed workspaces, allowing for accurate performance evaluations without requiring extensive testbed expansions. The study also introduces techniques to minimize attitude changes of satellites during simulations, which reduces the movement and stress on the robot's end effector. By leveraging advanced trajectory planning methods, including Hermite interpolation, the research ensures that kinematic relationships are maintained, and realistic motion profiles are achieved.

Overall, the proposed approach offers a practical solution for evaluating rendezvous and docking technologies by adapting simulations to fit within physical constraints. This advancement enhances the fidelity of ground-based tests such as relative navigation research using actual sensors, thereby improving the reliability of automated rendezvous and docking systems crucial for future space missions. However, this paper has the limitation of focusing solely on the method for simulating relative motion. Therefore, we believe that including the design of a real testbed, the process of setting up the testbed, and validation results obtained through actual hardware implementation would greatly enhance the reliability of the study.