In the near future, unmanned servicing satellites equipped with manipulators will be used for on-orbit servicing (OOS) of malfunctioned satellites (Tatsch et al., 2006) and for active debris removal (ADR) missions (Ellery, 2019). The capture operation, performed with the use of the manipulator, will be the most difficult part of the proposed missions. Control of the manipulator mounted on the free-floating satellite presents unique challenges as the motion of the manipulator affects the position and attitude of the satellite (Dubowsky and Papadopoulos, 1993). Various approaches are proposed for control of the satellite-manipulator system (Flores-Abad et al., 2014). The control law based on the Dynamic Jacobian allows to take into account the influence of the manipulator motion on the state of the satellite (Yoshida and Umetani, 1990).
On-ground validation of control systems developed for manipulators working in orbit is also challenging because it requires simulation of microgravity conditions (Xu et al., 2011). Several different solutions can be used to simulate these conditions (Menon et al., 2007). Experiments performed during parabolic flights are expensive, and relatively high residual gravity acceleration is present during zero-G parabola (Menon et al., 2005). Drop towers provide very low residual gravity acceleration, but the size of the drop capsule is small and time of free fall is very short (Watanabe et al., 1998). Majority of on-ground experiments in the field of space robotics are performed on the planar air-bearing microgravity simulators (Rybus and Seweryn, 2016). However, the motion on such test-beds is limited to the horizontal plane. There are only few air-bearing test-beds that allow to recreate three-dimensional motion, but such experiments are very complicated (Saulnier et al., 2014). Thus, hardware-in-the-loop experiments are often used for validation of control systems developed for space manipulators (Wilde et al., 2019). In such an approach, the experiments are performed in the Earth's gravitational conditions, while the dynamic behaviour of the satellite-manipulator system is simulated using dynamic equations of motion.
There are two most common approaches for the hardware-in-the-loop experiments in the field of space robotics. In the first approach, the space manipulator is mounted on an industrial manipulator. The industrial manipulator is responsible for simulating the motion of the servicing satellite based on the mathematical model of the system. Such experiments were performed, among other things, on the on-orbit servicing simulator (OOS-SIM) facility operated by the German Aerospace Center (DLR) (Artigas et al., 2015; De Stefano et al., 2021) and on the platform-art facility operated by GMV (Colmenarejo et al., 2019; Seweryn et al., 2017). In the second approach, experiments are performed with one fixed-base manipulator (Li et al., 2016). The changes of the servicing satellite position and attitude are taken into account in simulation, but they are not physically introduced on the test-bed.
The goal of the presented work was to demonstrate the possibility of performing hardware-in-the-loop validation of the space manipulator control system using the KUKA KUBE test-bed operated by the Institute of Automatic Control at Lodz University of Technology (Granosik et al., 2016). This paper presents specific application of this unique test-bed for the purpose of performing experiments in the field of space robotics. In the considered scenario, the end-effector of the manipulator is controlled to reach the desired position and orientation defined in the inertial frame of reference. Dynamic model of the satellite-manipulator system is solved in real time to calculate changes of the satellite position and attitude caused by the manipulator motion. These changes are taken into account by the control system, and the desired position and orientation of the end-effector with respect to the base of the manipulator are updated.
The paper is organised as follows. The dynamic equations of the satellite-manipulator system and the control scheme based on the Dynamic Jacobian are presented in Section 2. KUKA KUBE test-bed is described in Section 3. The obtained results are presented in Section 4 and discussed in Section 5. Conclusions are given in Section 6.
We consider a manipulator (with
The dynamic equations of the system are based on the work performed by Seweryn and Banaszkiewicz (2008) and Rybus et al. (2017). The configuration of the system is described by the generalised coordinates vector as follows:
The vector of generalised velocities of the system is given by
The vector of generalised forces acting on the system is given by
The general form of dynamic equation of motion for the free-floating space manipulator is given by
In case of the free-floating space manipulator, the state vector
In the following section, the control scheme for the space manipulator is presented. The forward kinematics of the system on the velocity level is given by
Let us assume that the initial total momentum and angular momentum of the system are equal to zero. The nonholonomic constraints are then formed by relations expressing the momentum and angular momentum as follows:
Equation (6) can be solved for the translational and angular velocity of the satellite as follows:
Substituting (7) into (5) yields
The Dynamic Jacobian is dependent on both configuration of the manipulator and the attitude of the satellite. Equation (8) can be solved for joint angular velocities as follows:
We consider controlling the end-effector (tip of the manipulator) to the desired position and orientation expressed in Π
Substituting the end-effector velocity in (9) with the desired values expressed by the right-hand side of (10) yields the final form of the control law:
The desired manipulator joint angular velocities are then sent to the manipulator Proportional-Integral-Derivative (PID) joint controllers (Seweryn et al., 2017). The presented approach forms a cascade control system, where the outer loop is a P controller of the position and orientation of the end-effector and the inner loop is a PID controller of the manipulator joint angular velocities.
In this paper, we use hardware-in-the-loop experiments to validate only the outer stage of the cascade controller represented by control law (11). Therefore, the controller equations on the joint level are omitted. This is caused by the fact that the joint controllers used in the experiments are directly applied from the KUKA robot software delivered by the manufacturer. In other words, the desired joint velocities obtained with (11) are directly sent to the KUKA industrial controller.
The KUKA KUBE test-bed is presented in Figure 2. The test-bed is functionally divided into two subsystems: 1) executive part mounted inside cubic 2.5 m × 2.5 m × 2.5 m frame and 2) operator stand for ambidextrous control with both vision and force feedback. Test stand complies with International Standards Organisation/Technical Specification (ISO/TS 15066:2016: Robots and robotic devices – Collaborative robots norm). Executive elements consist of two KUKA LBR iiwa 14 R820 robotic arms equipped with universal tool mounts. Robots operate from side-mounted linear guides. KUKA LBR iiwa 14 R820 is a 7 Degrees of Freedom (DoF) articulated cobot capable of measuring joint torques both with and without gravity compensation. It is also capable of estimating forces acting on its end-effector. Denavit–Hartenberg (DH) parameters of the KUKA robot are presented in Table 1. KUBE test stand and its capabilities are well described by Granosik et al. (2016).
KUKA LBR iiwa 14 R820 DH table
1 | 90 | 0 | 0.360 | |
2 | −90 | 0 | 0 | |
3 | −90 | 0 | 0.420 | |
4 | 90 | 0 | 0 | |
5 | 90 | 0 | 0.400 | |
6 | −90 | 0 | 0 | |
7 | 0 | 0 | 0.126 |
The developed software solution consists of two main subsystems: control loop and logging loop. Control loop was implemented in MATLAB using KUKA Sunrise Toolbox (KST) developed by Safeea and Neto (2018). KST consists of two parts: MATLAB client scripts operating on Personal Computer (PC) and MATLAB server java application operating on KUKA controller. Data exchange frequency achieved by Transmission Control Protocol (TCP) connection provided by KST was sufficient to control the robot, but too slow for logging purposes as it reached only ~40 Hz. Logging was performed by using fast research interface (FRI) functionality provided by KUKA. FRI provides User Diagram Protocol (UDP) connection capable of sending full state of the robot with the frequency up to 1 kHz. In addition, another PC with Universal Serial Bus (USB) webcam was used to record the experiments. Both FRI logging and recording were triggered and terminated from the main control loop.
To implement control loop, dynamic parameters of LBR iiwa 14 R820 were needed. Parameters used were taken from the work performed by Stürz et al. (2017). Those parameters were also used by Safeea and Neto (2018) when developing KST.
Due to inability of FRI and KST of simultaneous operation on KUKA controller in as-is state and the low rate of KST connection, it was necessary to modify the controller side of both. In addition, the KST TCP connection speed was increased by concatenating existing KST commands for force, position and torque measurements into one command. Final architecture of connections is presented in Figure 3 (variables presented in the diagram are explained in sections 2 and 4). Logical diagram of the system is presented in Figure 4. The block ‘Perform main control loop iteration’ is discussed in Section 4.1.
The KUKA KUBE test-bed was used for hardware-in-the-loop experiment that allows to validate the control system designed for the space manipulator. In addition, the results of the experiments were applied for comparison with the simulation tool, as well as to discuss the advantages and drawbacks of the hardware-in-the-loop test campaign.
The schematic representation of the performed experiment is presented in Figure 5. Subscript
The actual current position of the end-effector is equal to the simulated position of the end-effector (
The current position of the satellite (
The input of the control system is given by the constant desired position of the end-effector with respect to the inertial frame
Equation (12) shows the main idea of the hardware-in-the-loop experiment. We strive to validate the control system of the free-floating manipulator, whereas the on-ground test-beds do not allow us to introduce the motion of the satellite and the free-floating nature of the satellite-manipulator system. Therefore, we introduce a model which accounts for the free-floating nature of the system and we design the experiment so that the model is calculated in real time parallel to the experiment. As a result, the variables of interest for the control system (position and orientation of the end-effector with respect to the inertial frame) depend on both test-bed measurements (
The calculation of the position and attitude of the satellite with the use of (7) as well as evaluation of the desired joint angular velocities using control law (11) are performed in the loop programmed with MATLAB KST. The program is running parallel to the experiment and its procedures are called out in each step of the control system. The desired joint velocities are then sent to the KUKA joint controllers that are able to control manipulator joints in the inner loop of the cascade control system.
To summarise, the plant model loop operations are presented as a diagram in Figure 6 and summarised as a list of operations below:
Receiving the information about the current KUKA manipulator joint angular positions ( Calculating
Calculating the current satellite position ( Calculating the current end-effector position Calculating the desired manipulator joint velocities
Sending the desired manipulator joint velocities
The parameters of the scenario are described herein. The mass of the satellite is set to 100 kg, whereas the moments of inertia around the main axes of the satellite are 2.83 kgm2 in X axis, 6.08 kgm2 in Y axis and 7.42 kgm2 in Z axis. Products of inertia of the satellite are assumed to be zero. The satellite CoM is initially placed at the origin of Π
The results of the experiment are compared with the results of the simulation of the free-floating space manipulator performed after the test. The simulations performed after the experiment are not the same as the model plant used during the hardware-in-the-loop test. These simulations use the dynamic model (4) to simulate the free-floating manipulator motion using the experimental results as an input, whereas the MATLAB control loop used nonholonomic constraints (7) to evaluate the current satellite motion induced by the manipulator. It is also worth noting that the simulations performed to validate the behaviour of the system during the experiment were conducted in the open-loop mode – there was no control system implemented in the simulation. The reason is that the purpose of these simulations is to validate if the free-floating dynamics were correctly included in (12) during experiments.
The simulation is designed using the inverse dynamics approach (Basmadji et al., 2020). The signals of the manipulator joint angular positions measured in the experiment are used to calculate the driving torques using equation (4). Then, the evaluated driving torques are applied to solve the Simulink SimMechanics model of the KUKA manipulator mounted on the free-floating satellite. The simulations were performed with fixed time step equal to 0.005
The KUKA manipulator is equipped with torque sensors mounted in each manipulator joint. These measurements show the net torque (
The performed experiment validated that the first stage of the cascade control system based on the Dynamic Jacobian control law allows to properly control the manipulator's end-effector in the inertial frame. The position and orientation of the end-effector with respect to Π
The test results are different than the signals observed in the simulation. The differences between the end-effector position obtained during the experiment and in the simulation performed after the test have the magnitude of several millimetres, while the orientation differences are equal to about 1 deg −2 deg (Figure 11). This is caused by the fact that the manipulator joint position signals (that are the input of the inverse dynamics algorithm) had to be approximated to avoid peaks in numerical derivative of the signals. The differences between the approximated signals and test-bed measurements were equal to up to 3 deg (Figure 9). These differences are influencing especially the end-effector orientation components that did not change significantly during the experiment (Z and Y angles as seen in Figure 10). In addition, differences between the results from the test and the simulation can be caused by time delays in the communication between the MATLAB solving the model plant and KUKA control board responsible for sending test-bed measurements. The phase delay between the model plant results and the test-bed measurements is one of the main challenges in hardware-in-the-loop experiments.
The KUKA joint controllers are significantly faster than the plant model. Therefore, the practical period of the control loop mainly depends on the time of evaluation of the MATLAB model plant. As it was explained in Section 3.2, the achieved frequency was approximately equal to 40 Hz. However, as it can be seen in Figure 14, the time of evaluation for each iteration of the MATLAB loop was changing with time, especially at some time occurrences, the time of evaluation was significantly higher than during the rest of the experiment (this issue is discussed in the next paragraph). Therefore, the practical frequency of the control loop depends on the latency between the model and the real system, which changes with time.
The simulation results for the net torques acting in manipulator joints (for simulation with gravitational environment) are characterised by torque peaks. These are caused by the fact that the joint position signals change drastically at times when the evaluation time of the MATLAB loop is significantly longer (peaks of time of evaluation and torque simulation results occur at the same time stamps). Due to longer time of evaluation of the MATLAB control loop, there was a longer time period between two subsequent control commands, and thus, the KUKA robot moved very quickly with regard to newly sent command. On the other hand, the torque peak was not logged in the test-bed measurements due to the fact that the MATLAB control loop was still performing its calculations. It is worth noting that such peaks might be impacted by the algorithms applied within the MATLAB control loop – the pseudo-inverse of the Dynamic Jacobian as well as other model matrices require relatively long period of time to be calculated. This has large influence on the latency within the experiment.
It can be seen in Figure 14 that there were several occurrences when the time of evaluation of the model plant was longer. It is caused by the fact that at that particular time, the communication between MATLAB and KUKA manipulator controller was longer or the evaluation of the Dynamic Jacobian pseudo-inverse took more time than usual. The simulation performed after the experiments used the measured joint position signals. Fast changes of the joint position occurring at time stamps related to longer latency caused the joint acceleration (calculated numerically) to have high values at these occurrences. As the simulation worked with higher frequency, this is the reason why the torque peaks were obtained in the simulation. As stated before, these peaks were not measured during the experiment due to too high latency caused by longer time evaluation for the MATLAB code. Although the simulation step time influences the accuracy of the results in general, here the reason behind the peaks is directly related to the latency of the MATLAB control loop. Such an effect can be improved in the future by optimising the frequency of the MATLAB control loop or improving the frequency of data logging.
Apart from the events of longer time of evaluation, the average model plant loop time of evaluation was about 0.025
The test-bed did not work in the real-time regime partially due to the available software tools and non–real-time nature of the preliminary experiments that constituted the software base used for tests described in the paper. Another important reason was achievable control loop frequency including communication with the robot. Initially achieved control loop frequency was very limited. Limitations stemmed mostly from the communication delays and partially from numerical inefficiencies. Because the main purpose of the test-bed was to collect timestamped data and the robot did not use tools and did not perform any specific manipulation task, the decision has been made to sacrifice real-time regime to achieve higher control loop and measurement frequency. Since the measured data are timestamped, we are aware that the system does not operate in the real-time regime.
It is worth noting that the main purpose of the experiment was to prove the concept of hardware-in-the-loop simulations and present that combining the test-bed measurements with simulated satellite position in real time using equation (12) allows to validate the control system with the use of industrial robot. As the main goal of the paper was to examine the potential of the KUKA KUBE test-bed in terms of orbital robotics experiments, a single test performed in the scope of this study is fully representative. On the other hand, in future work, there must be some discussion concerning performing multiple experiments with various initial conditions and disturbances.
The obtained results indicate that it is possible to manually perform gravity compensation on the test-bed. Thus, it is possible to emulate the KUKA manipulator working under microgravity environment. In the future, there might be a possibility of performing hardware-in-the-loop tests of proper capture manoeuvre of the space manipulator. Comparison between the measured net torque acting on the KUKA manipulator joints and results from the simulation of the fixed-base manipulator working under gravitational environment presents a great potential of the KUKA KUBE test-bed. This is very important as experimental validation of space manipulators’ control systems is very difficult due to problems with emulating microgravity environment.
Parameters of the robot used in the implementation were taken from identification done by Stürz et al. (2017). Work performed by Xu et al. (2020) was also focused on deriving dynamical parameters of the LBR iiwa 14 R820 arm, but the values obtained and reported by authors were different. This led to the decision to start deriving own symbolic regressor based on the method presented by Gabiccini et al. (2020). Works are performed in MATLAB Symbolic Toolbox and are still ongoing.
In this paper, we presented the hardware-in-the-loop experiments validating space manipulator control system using KUKA KUBE test-bed. The designed control law is based on the cascade control system. The control law utilises the Dynamic Jacobian to transform the end-effector position and orientation errors to the desired manipulator joint angular velocities. These velocities are then sent to the KUKA joint controllers used in the test-bed.
The validation experiment is based on the hardware-in-the-loop test. Fixed-base KUKA industrial manipulator working under gravitational environment controls the desired manipulator joint angular velocities and provides measurements of the joint angular positions, end-effector position and orientation with respect to base as well as net torques acting in the axis of rotation of each joint (measured by torque sensors). The desired manipulator joint velocities are evaluated in real time in the MATLAB loop that solves the model plant of the free-floating space manipulator. Nonholonomic constraints equations are used to evaluate the actual position and attitude of the satellite. As a result, the desired position and orientation of the end-effector are constant in the simulated inertial frame, but time variant in the base frame related to the test-bed. The results present great potential of the KUKA KUBE test-bed in terms of hardware-in-the-loop experiments for space systems validation. It is very difficult to emulate the microgravity environment on Earth. Thus, hardware-in-the-loop tests are a great opportunity to overcome this problem. The results show that there is a compatibility between the test-bed measurements in the performed experiment and simulation results from the SimMechanics model of the free-floating space manipulator. In addition, simulations of the KUKA manipulator working under gravitational environment are compatible with torque sensor measurements, which indicates that precise gravity compensation is possible. In the future, there is a possibility to perform hardware-in-the-loop experiments of the capture manoeuvre with the use of the KUKA KUBE test-bed and space manipulator model plant solved in real time parallel to the motion of the robot.