Open Access

Application of the Kuka Kube Test-Bed for the Hardware-in-the-Loop Validation of the Space Manipulator Control System


Cite

INTRODUCTION

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.

DYNAMICS AND CONTROL OF FREE-FLOATING SPACE MANIPULATOR

We consider a manipulator (with n rotational joints) mounted on a free-floating satellite. The schematic view of the system is presented in Figure 1. The non-moving and non-rotating inertial frame is indicated as Πine.

Figure 1.

Schematic view of the n-DoF space manipulator

Dynamics

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: qp=[rsTΘsTθmT]T {{\bf{q}}_p} = {[{\bf{r}}_s^T\;\;\;\;{\boldsymbol {\Theta }}_s^T\;\;\;\;{\boldsymbol {\theta }}_m^T]^T} where rs ∈ ℝ3 denotes the position vector of the satellite and Θs ∈ ℝ3 denotes the attitude of the satellite described by Euler angles in ZYX convention, whereas θm = [θm1 θm2 … θmn−1 θmn]T ∈ ℝn is the vector of manipulator joint angular positions.

The vector of generalised velocities of the system is given by qv=[vsTωsTθ˙mT]T {{\bf{q}}_v} = {[{\bf{v}}_s^T\;\;\;\;{\boldsymbol {\omega }}_s^T\;\;\;\;{\boldsymbol {\dot \theta }}_m^T]^T} where vs=r˙s3 {{\bf{v}}_s} = {{\bf{\dot r}}_s} \in {\mathbb {R}^3} denotes the translational velocity of the satellite centre of mass (CoM), ωs=TΘ1Θ˙s3 {{\boldsymbol {\omega }}_s} = {\bf{T}}_\Theta ^{ - 1}{{\bf{\dot \Theta }}_s} \in {\mathbb {R}^3} denotes the angular velocity of the satellite (TΘ ∈ ℝ3×3 is the transformation matrix that maps Euler angles time derivatives into the angular velocity vector) and θ˙mn {{\boldsymbol{\dot \theta }}_m} \in {\mathbb {R}^n} is the vector of manipulator joint angular velocities.

The vector of generalised forces acting on the system is given by Q=FsTτsTτmTT {\bf{Q}} = {\left[ {{\bf{F}}_s^T\;\;\;\;{\boldsymbol {\tau }}_s^T\;\;\;\;{\boldsymbol {\tau }}_m^T} \right]^T} where Fs ∈ ℝ3 denotes the vector of forces acting on the satellite CoM, τs ∈ ℝ3 denotes the vector of torques acting on the satellite and τm ∈ ℝn denotes the joint driving (control) torques vector.

The general form of dynamic equation of motion for the free-floating space manipulator is given by MsMsmMsmTMmq˙v+CsCmqv+GsGm=Q \left[ {\matrix{ {{{\bf{M}}_s}} & {{{\bf{M}}_{sm}}} \cr {{\bf{M}}_{sm}^T} & {{{\bf{M}}_m}} \cr } } \right]{{\boldsymbol {\dot q}}_v} + \left[ {\matrix{ {{{\bf{C}}_s}} \cr {{{\bf{C}}_m}} \cr } } \right]{{\bf{q}}_v} + \left[ {\matrix{ {{{\bf{G}}_s}} \cr {{{\bf{G}}_m}} \cr } } \right] = {\bf{Q}} where Ms ∈ ℝ6×6 is the mass matrix of the satellite, Mm ∈ ℝn×n is the mass matrix of the manipulator, Msm ∈ ℝn is the mass matrix that couples motion of the manipulator with motion of the satellite, Cs ∈ ℝ6×(6+n) and Cm ∈ ℝn×(6+n) are Coriolis matrices of the satellite and the manipulator, respectively, Gs=FGST01×3T6 {{\bf{G}}_s} = {\left[ {{\bf{F}}_{{{\bf{G}}_S}}^T\;\;\;\;{{\bf{0}}_{1 \times 3}}} \right]^T} \in {\mathbb {R}^6} , where FGST {\bf{F}}_{{{\bf{G}}_S}}^T denotes the vector of gravitational force acting on the satellite CoM and 01×3 denotes 1×3 vector filled with zeros, and Gm ∈ ℝn denotes the vector of reaction forces and torques acting on the manipulator joints and induced by the gravitational force. The mass and Coriolis matrices of the system are defined by Rybus et al. (2022).

In case of the free-floating space manipulator, the state vector x=qpTqvTT {\bf{x}} = {\left[ {{\bf{q}}_p^T\;\;\;\;{\bf{q}}_v ^T} \right]^T} has 12 + 2n components. The orbital motion of the system is not considered. The gravitational potential energy of the system is usually assumed to be equal to zero. The gravity gradient is neglected due to the relatively small size of the manipulator (Cavenago et al., 2019). In addition, in close proximity of the potential target satellite, the satellite Attitude and Orbit Control System (AOCS) is assumed to be turned off, hence Fs = 03×1 and τs = 03×1. Such a system has conserved total momentum and angular momentum – the system is nonholonomic (Ratajczak and Tchoń, 2020). In case of the fixed-base manipulator working on Earth, the state vector x=[θmTθ˙mT]T {\bf{x}} = {[{\boldsymbol {\theta }}_m^T\;\;\;\;{\boldsymbol {\dot \theta }}_m^T]^T} has 2n components. The joint reaction torques Gm caused by the gravitational force have significant influence on the system dynamics. The dynamic equation of motion (4) then takes much simpler form (Featherstone and Orin, 2008).

Control scheme

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 veeωee=Jsvsωs+Jmθ˙m \left[ {\matrix{ {{{\bf{v}}_{ee}}} \cr {{{\boldsymbol {\omega }}_{ee}}} \cr } } \right] = {{\bf{J}}_s}\left[ {\matrix{ {{{\bf{v}}_s}} \cr {{{\boldsymbol {\omega }}_s}} \cr } } \right] + {{\bf{J}}_m}{{\boldsymbol {\dot \theta }}_m} where Js ∈ ℝ6×6 denotes the Jacobian of the satellite and Jm ∈ ℝn denotes standard Jacobian of the manipulator expressed in Πine (Rybus et al., 2017). In case of fixed-base manipulators, the right-hand side of equation (5) consists only of the second component as the velocity of the base (satellite) equals zero.

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: PL=H2vsωs+H3θ˙m=06×1 \left[ {\matrix{ {\bf{P}} \cr {\bf{L}} \cr } } \right] = {{\bf{H}}_2}\left[ {\matrix{ {{{\bf{v}}_s}} \cr {{{\boldsymbol {\omega }}_s}} \cr } } \right] + {{\bf{H}}_3}{{\boldsymbol {\dot \theta }}_m} = {{\bf{0}}_{6 \times 1}} where matrices H2 ∈ ℝ6×6 and H3 ∈ ℝn were presented by Rybus et al. (2017).

Equation (6) can be solved for the translational and angular velocity of the satellite as follows: vsωs=H21H3θ˙m \left[ {\matrix{ {{{\bf{v}}_s}} \cr {{{\boldsymbol {\omega }}_s}} \cr } } \right] = - {\bf{H}}_2^{ - 1}{{\bf{H}}_3}{{\boldsymbol {\dot \theta }}_m}

Substituting (7) into (5) yields veeωee=JmJsH21H3θ˙m=Jdθ˙m \left[ {\matrix{ {{{\bf{v}}_{ee}}} \cr {{{\boldsymbol {\omega }}_{ee}}} \cr } } \right] = \left( {{{\bf{J}}_m} - {{\bf{J}}_s}{\bf{H}}_2^{ - 1}{{\bf{H}}_3}} \right){{\boldsymbol {\dot \theta }}_m} = {{\bf{J}}_d}{{\boldsymbol {\dot \theta }}_m} where the matrix Jd ∈ ℝn is called the Dynamic Jacobian.

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: θ˙m=Jd#veeωee {{\boldsymbol {\dot \theta }}_m} = {\bf{J}}_d^\# \left[ {\matrix{ {{{\bf{v}}_{ee}}} \cr {{{\boldsymbol {\omega }}_{ee}}} \cr } } \right] where # denotes the inverse of the square matrix or Moore–Penrose pseudoinverse in case of non-square matrix.

We consider controlling the end-effector (tip of the manipulator) to the desired position and orientation expressed in Πine. The desired velocity of the end-effector is evaluated by multiplying the control error by constant gain coefficients as follows: veedesωeedes=KvreedesreeactKωTΘ1ΘeedesΘeeact \left[ {\matrix{ {{{\bf{v}}_{e{e_{des}}}}} \cr {{{\boldsymbol {\omega }}_{e{e_{des}}}}} \cr } } \right] = \left[ {\matrix{ {{{\bf{K}}_v }\left( {{{\bf{r}}_{e{e_{des}}}} - {{\bf{r}}_{e{e_{act}}}}} \right)} \cr {{{\bf{K}}_\omega }{\bf{T}}_\Theta ^{ - 1}\left( {{{\boldsymbol {\Theta }}_{e{e_{des}}}} - {{\boldsymbol {\Theta }}_{e{e_{act}}}}} \right)} \cr } } \right] where subscript des denotes the desired values, subscript act denotes the actual, measured values, Θee ∈ ℝ3 is the orientation vector of the end-effector described by Euler angles in ZYX convention and Kυ ∈ ℝ3×3 and Kω ∈ ℝ3×3 denote the diagonal positive-definite gain matrices for translational and angular velocities, respectively.

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: θ˙mdes=Jd#KvreedesreeactKωTΘ1ΘeedesΘeeact {{\boldsymbol {\dot \theta }}_{{m_{des}}}} = {\bf{J}}_d^\# \left[ {\matrix{ {{{\bf{K}}_v }\left( {{{\bf{r}}_{e{e_{des}}}} - {{\bf{r}}_{e{e_{act}}}}} \right)} \cr {{{\bf{K}}_\omega }{\bf{T}}_\Theta ^{ - 1}\left( {{{\boldsymbol {\Theta }}_{e{e_{des}}}} - {{\boldsymbol {\Theta }}_{e{e_{act}}}}} \right)} \cr } } \right]

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.

DESCRIPTION OF THE KUKA KUBE TEST-BED
Hardware description

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

i αi [deg] θmi [deg] ai [m] di [m]
1 90 θm1 0 0.360
2 −90 θm2 0 0
3 −90 θm3 0 0.420
4 90 θm4 0 0
5 90 θm5 0 0.400
6 −90 θm6 0 0
7 0 θm7 + 180 0 0.126
Software description

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.

Figure 2.

KUKA KUBE test-bed

Figure 3.

Communication diagram for KUKA KUBE test-bed hardware-in-the-loop experiments. Blue rectangles with continuous borders represent hardware components. Green, inner rectangles with dashed borders represent software components that were created or modified to perform the experiment. Brackets around parameters are added to improve subscript readability

Figure 4.

Logical diagram for KUKA KUBE test-bed hardware-in-the-loop experiments

RESULTS OF EXPERIMENTS

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.

Experiment description

The schematic representation of the performed experiment is presented in Figure 5. Subscript sim denotes variables related to the model plant calculated on the MATLAB level parallel to the experiment, while subscript test denotes variables related to the test-bed measurements. No subscript indicates that the variable is related to both model plant and test-bed. The KUKA manipulator is mounted on a fixed base and is operated in gravitational environment. The manipulator joint positions and velocities are measured on the test-bed with encoders. The model plant (marked as black and white system in Figure 5) is represented by the free-floating space manipulator, whose end-effector is controlled by the cascade control system based on the Dynamic Jacobian control law.

The actual current position of the end-effector is equal to the simulated position of the end-effector (ree)sim ∈ ℝ3 and is represented by the sum of the simulated position of the satellite (rs)sim ∈ ℝ3, the manipulator mounting point vector rq ∈ ℝ3, which depends on geometrical system parameters, and the measured (on the test-bed) position of the end-effector with respect to the manipulator base (r1_ee)test ∈ ℝ3: reeact=(ree)sim=(rs)sim+rq+(r1ee)test {{\bf{r}}_{e{e_{act}}}} = {({{\bf{r}}_{ee}})_{sim}} = {({{\bf{r}}_s})_{sim}} + {{\bf{r}}_q} + {({{\bf{r}}_{{1_ - }ee}})_{test}}

The current position of the satellite (rs)sim is evaluated by calculating and integrating equation (7) in each step of the control system, while the measured position of the end-effector with respect to its base is calculated with forward kinematics based on test-bed joint position measurements (θm)test.

The input of the control system is given by the constant desired position of the end-effector with respect to the inertial frame reedes. It is worth noting that even though these values are constant with respect to the inertial frame, the desired end-effector position with respect to the manipulator base (r1_eedes)test will change with time as a result of the simulated satellite motion (rs)sim. Similar relations are obtained on the orientation level, which is omitted here.

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 (r1_ee)test and results of the simulated model (rs)sim. This concept allows us to combine the robot's hardware components with the free-floating nature of the system, which has high impact on the control system but is very difficult to be emulated on Earth.

Figure 5.

Schematic representation of the performed experiment

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 (θm)test as well as the current end-effector position (r1_ee)test and orientation (Θ1_ee)test with respect to the manipulator mounting point

Calculating θ˙mtest {\left( {{{{\boldsymbol {\dot \theta }}}_m}} \right)_{test}} as a numerical derivative of (θm)test and calculating the current satellite velocities (vs)sim, (ωs)sim with equation (7)

Calculating the current satellite position (rs)sim and attitude (Θs)sim by integrating the velocities (vs)sim, (ωs)sim evaluated in step 2

Calculating the current end-effector position reeact and orientation Θeeact with respect to Πine using equation (12)

Calculating the desired manipulator joint velocities θ˙mdestest {\left( {{{{\boldsymbol {\dot \theta }}}_{{m_{des}}}}} \right)_{test}} using the control law (11)

Sending the desired manipulator joint velocities θ˙mdestest {\left( {{{{\boldsymbol {\dot \theta }}}_{{m_{des}}}}} \right)_{test}} to the KUKA manipulator joint controllers

Figure 6.

Diagrammatic description of a single control loop iteration

Control system validation

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 Πine, and the initial attitude of the satellite coincides with the orientation of Πine. The initial configuration of the KUKA manipulator is θm1 = −26.25 deg, θm2 = 65.96 deg, θm3 = 0.72 deg, θm4 = 67.57 deg, θm5 = −63.15 deg, θm6 = −2.56 deg and θm7 = 140.79 deg. The initial velocities of the system are set to zero. The initial end-effector position with respect to Πine is ree = [1.057 m 0.174 m 0.328 m]T, while the initial orientation of the end-effector is Θee = [−92.15 deg −38.26 deg −86.22 deg]T. The desired end-effector position and orientation with respect to Πine are reedes = [0.948 m −0.225 m 0.094 m]T and Θeedes = [−88.38 deg −37.27 deg −56.99 deg]T. The gain matrices Kυ and Kω are set to be identity matrices (each gain equal to 1). The experiment is set to last 20 s. The frames captured by the camera inside the KUKA KUBE test-bed showing the performed experiment are presented in Figure 7.

Figure 7.

Frames captured by the camera mounted inside the KUKA KUBE test-bed that show the KUKA manipulator during experiments.

From left to right: t = 0 (initial configuration), t = 6.6s, t = 13.3 s, t = 20 s (final configuration)

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 s. The dynamics equations were integrated numerically using third-order Bogacki–Shampine formula. Due to the fact that calculating numerical derivatives of the measured joint positions is sensitive to encoder noise, the measurements are approximated with the fifth-order polynomials. The measured manipulator joint angles and their approximation used for the simulation are presented in Figure 8, while the approximation error is presented in Figure 9. The manipulator end-effector position and orientation with respect to Πine evaluated in the test and in the simulation are shown in Figure 10, while the differences between them are shown in Figure 11. Finally, the position and attitude of the satellite integrated in the MATLAB loop are compared with the simulation results in Figure 12, while the differences are presented in Figure 13.

Figure 8.

Manipulator joint angular positions measured in the experiment and signal approximation for the comparison simulation

Figure 9.

The approximation error for joint angular positions measured in the experiment

Figure 10.

Manipulator end-effector position and orientation with respect to the simulated inertial frame Πine – comparison with the simulation results

Figure 11.

Difference in manipulator end-effector position and orientation with respect to the simulated inertial frame Πine between the experimental and simulation results

Figure 12.

Satellite position and attitude with respect to the simulated inertial frame Πine – comparison with the simulation results

Figure 13.

Difference in satellite position and attitude with respect to the simulated inertial frame Πine between experimental and simulation results

Joint torque analysis

The KUKA manipulator is equipped with torque sensors mounted in each manipulator joint. These measurements show the net torque (τmnet)test acting in the axis of rotation for each joint. To validate the correctness of the simulation tool, additional simulation using Simulink SimMechanics model of the fixed-base KUKA manipulator is performed. The time step and the numerical integration method used are the same as in previous simulations. Proper gravitational acceleration vector is set, and joint reaction torques are compared with the test-bed measurements. The time of evaluation for each iteration of the MATLAB loop during the experiment is presented in Figure 14. As an example, we chose to present the torque measured in the second joint compared with simulation results in Figure 15. It is observed that the simulation results are characterised by high torque peaks. The reasoning behind them will be discussed in the next section. To increase the readability of the torque signals, the Y axes limits for joint torque results in Figure 16 are set, so that the simulation torque peaks are not visible. The differences between the net torques measured during the experiments and obtained in the simulations are presented in Figure 17.

Figure 14.

Time of evaluation for each iteration of the MATLAB loop

Figure 15.

The net torque acting on the second manipulator joint – comparison with the simulation

Figure 16.

The net torque acting on each manipulator joint – comparison with the simulation

Figure 17.

The difference in net torque acting on each manipulator joint between the experimental and simulation results

DISCUSSION

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 Πine are converging to the desired values. However, the control error is non-zero at the end of the experiment. The designed algorithm is too slow to achieve the desired values in 20 s. This issue can be solved by increasing the outer loop gain coefficients or by replacing the outer loop P controller with PI or PID controller.

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 s, which is equivalent to the frequency of 40 Hz stated before as the average practical frequency of the control loop. In addition, the results observed in Figure 16 show that the test-bed measurements are close to simulation results. The differences between the results are equal to several Nm in case of joints 1–4 and tenths of Nm in case of joints 5–7 (Figure 17). The differences might be caused by additional aspects that are not included in the simulation tool, for example, torques induced by friction or gear stiffness.

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.

CONCLUSIONS

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.

eISSN:
2083-6104
Language:
English
Publication timeframe:
4 times per year
Journal Subjects:
Geosciences, other