Review Article Volume 4 Issue 3
^{1}University of Surrey, UK
^{2}University of Lincoln, UK
Correspondence: Amr Mohamed, University of Lincoln, Lincoln, LN6 7TS, United Kingdom
Received: June 12, 2020  Published: July 29, 2020
Citation: Mohamed A, Saaj C, Seddaoui A, et al. Linear controllers for freeflying and controlledfloating space robots: a new perspective. Aeron Aero Open Access J. 2020;4(3):97114. DOI: 10.15406/aaoaj.2020.04.00112
Autonomous space robots are crucial for performing future inorbit operations, including servicing of a spacecraft, assembly of large structures, maintenance of other space assets and active debris removal. Such orbital missions require servicer spacecraft equipped with one or more dexterous manipulators. However, unlike its terrestrial counterpart, the base of the robotic manipulator is not fixed in inertial space; instead, it is mounted on the basespacecraft, which itself possess both translational and rotational motions. Additionally, the system will be subjected to extreme environmental perturbations, parametric uncertainties and system constraints due to the dynamic coupling between the manipulator and the basespacecraft. This paper presents the dynamic model of the space robot and a threestage control algorithm for this highly dynamic nonlinear system. In this approach, feedforward compensation and feedforward linearization techniques are used to decouple and linearize the highly nonlinear system respectively. This approach allows the use of the linear ProportionalIntegralDerivative (PID) controller and Linear Quadratic Regulator (LQR) in the final stages. Moreover, this paper covers a simulationbased tradeoff analysis to determine both proposed linear controllers' efficacy. This assessment considers precise trajectory tracking requirements whilst minimizing power consumption and improving robustness during the closerange operation with the target spacecraft.
Research highlights: orbital space robotic missions, control of space robots, freeflying and controlledfloating modes of operation, application of linear controllers
Keywords: space robot, inorbit operation, robotic manipulator, linear controller, freeflying, controlledfloating
Modern small satellites have revolutionized the economics of space, making it more affordable.^{1} With advances in space technology, there is a growing interest to use robots for inspace services. Space robots offer several benefits, including but not limited to: the disposal of orbital debris or faulty spacecraft, extending the life of highvalue assets such as the International Space Station (ISS) or the Hubble Space Telescope (HST), refuelling and repairing of commercial spacecraft, including mega constellations, as a more economical alternative.^{2,3} Extending the life of such space systems and reducing the associated costs will require capture, repair, maintenance, and assembly capabilities in orbit. Currently, these servicing tasks are being accomplished manually by astronaut through Extra Vehicular Activity (EVA). However, time restrictions for manoeuvring, the cost of human life support facilities, and the high risks astronauts face are some severe restrictions for EVA.4 Additionally, beyond Low Earth Orbit (LEO), highvalue satellites occupy valuable orbital slots where any faulty ones represent a threat for operational spacecraft in Medium Earth Orbit (MEO) or Geostationary Orbit (GEO). Moreover, the presence of humans is currently not possible in higher Earth orbits due to extreme environments.^{5} Other benefits of using space robots are reducing design, manufacturing, and launch costs by approximately $20,000/Kg.^{6} Moreover, space robots offer technology upgrading, in which specific components such as onboard electronics or processors can be periodically upgraded.
Alongside innovation, sustaining space operations and protecting the ecosystem of space is important. However, after 60 years of uncontrolled debris proliferation and intensive space use, Earth orbits now have reached a shifting point, known as the “Kessler syndrome”, where human intervention is needed.^{7} A forecast for the next 200 years states that access to space would almost be impossible if measures to mitigate space debris proliferation is not in place. Therefore, several solutions have been proposed, including electrodynamic tethers, Earthbased pulsed laser, or even capturing debris using harpoons and nets.^{7 }Considering the limitations of these approaches, space robot controlled by teleoperation have been proposed. However, for high Earth orbit spacecraft, Earthbased teleoperation involves significant time delays because of signal transmission and routing and can take from one to six seconds. The magnitude of these time delays is known to impede teleoperation performance. For a typical teleoperation, even small delays of ~10s100s of milliseconds lead to an unstable forcefeedback system.^{4} Considering the limitations of these approaches, space robot might be a better alternative for undertaking a wide range of services in orbit.^{7} However, unlike Earthbased manipulators, the base of the space manipulator is no longer fixed in the inertial space. This introduces a high level of kinematic and dynamic complexity making it more challenging to control the space robot. Moreover, due to the mutual dynamic coupling between the basespacecraft and the manipulator, reaction forces and moments will be generated during the motion of the manipulator. This is in addition to the issues caused by excitation of vibration of the solar paddles onboard. The severity of these effects depends on the mass ratios between the manipulator and the basespacecraft; therefore, a threshold of up to one third is when these effects become more dominant. Furthermore, the space robot must be accommodated within the fairing of the launch vehicle. Therefore, presenting significant limitations on the volume, size and design of the robotic arm. The largest robotic arm used was less than 5m available diameter, even the larger launchers such as NASA’s SLS Block 2 and Blue Origin’s New Glenn will be restricted to 8.4m and 7m respectively in the fairing diameter.^{8} Additionally, the centre of mass of the overall system changes continuously during the manipulator's motion,^{4} and the system will be subjected to external environmental perturbations like the gravity gradient, aerodynamic drag, solar pressure, residual magnetic disturbances as well as internal parametric uncertainties. Hence, it is challenging to develop a highperformance controller, with sufficient robustness, to withstand all the aforementioned disturbances.
This paper is organized as follows: Section 5 gives a review of the current stateoftheart of orbital space robots and a detailed explanation of the different modes of operation of a space robot, highlighting the pros and cons of each mode of operation. Section 6 then establishes the mathematical model of the dynamics and kinematics of a controllerfloating space robot. Section 7 gives a breakdown of the external perturbations resulting from the space environment, as well as the effects of parametric uncertainties on the system. Section 8 illustrates the control algorithms used for the trajectory tracking of the manipulator’s endeffector and Section 9 discusses the simulation results. It presents a tradeoff analysis between PID and LQR controllers to determine their suitability in the final stage of the algorithm implementation. Finally, the main conclusions drawn and open questions for future research are stated in Section 10.
Modes of operation
Traditionally, there are two major approaches for operating a space robot: one links the Attitude and Orbit Control Subsystem (AOCS) of the basespacecraft with the manipulator's controller, while the other allows the basespacecraft to move freely in reaction to the manipulator's motion. They are called FreeFlying and FreeFloating configurations respectively.^{7} In the FreeFlying approach, the controller of the basespacecraft tries to maintain a constant attitude and position. Therefore, the base of the manipulator can be considered as being fixed in inertial space; thus, all the angular characteristics are similar to its Earthbased counterpart. Accordingly, the rotational matrix of the composite 4x4 DenavitHartenberg matrix will have the same format as in the terrestrial manipulator. However, the spacecraft bus platform has to employ excessive attitude control using Reaction Wheels (RWs) or thrusters to maintain almost constant position and attitude during the operation of the manipulator. Such systems have a high level of redundancy and versatility on the one hand, but a limited workspace on the other hand. Moreover, this method avoids any dynamic singularities associated with the uncontrolled attitude of the basespacecraft, thus, allowing the end effector's orientation and position to be a unique function of the manipulator's joint angles independently of the history of the joint's trajectory.^{6} On the other contrary, in the FreeFloating approach, the AOCS is turned off to conserve onboard fuel. This means that the position and attitude of the basespacecraft are not actively controlled during the capturing motion of the manipulator. As a result, the basespacecraft will move freely in response to the manipulator's motion, hence, introducing holonomic and nonholonomic kinematic constraints.^{6} Furthermore, FreeFloating systems are characterized by unpredictable dynamic singularities in the workspace of the manipulator. This is due to changing the attitude of the basespacecraft at which point they become unstable.^{9} Dynamic singularity is a function of both the manipulator's kinematics as well as dynamic properties, such as the masses and inertia of both the basespacecraft and the manipulator. Therefore, the attitude of the spacecraft becomes dependent on the path history of the manipulator due to its nonholonomic nature. Moreover, if the attitude of the basespacecraft is not being controlled, the reachable path independent workspace by the manipulator becomes significantly smaller than the constrained workspace available to the FreeFlying approach.^{10}
To arrive at a more detailed classification of spacecraft manoeuvring modes, Wilde et al.,^{11} proposed adding three submodes, thus fully covering all possible spacecraft manoeuvres within the FreeFlying and FreeFloating modes. These new modes of operation are defined for an isolated spacecraftmanipulator system operating in absence of friction and pure weightlessness. According to Wilde et al.,^{11} the FreeFloating mode is decomposed into the Floating and RotationFloating modes. The former controls only the manipulator’s joints while leaving the 3 Degrees of Freedom (DOF) of the orientation of the basespacecraft and the 3 DOF of translation of the system’s Center Of Mass (COM) not actively controlled, while the latter additionally controls the 3 DOF of orientation of the basespacecraft by using momentum exchange devices, i.e. internal torques. On the other hand, the FreeFlying mode is further subdivided into RotationFlying, TranslationFlying and Flying. The RotationFlying mode is very similar to the RotationFloating mode, however, in this case, the 3 DOF orientations of the basespacecraft is actively controlled by external torques only, therefore, the total angular momentum of the space robot is controlled rather than conserved. Furthermore, for the TranslationFlying mode, the DOF at the manipulator’s joints are controlled by joint motors and the 3 DOF of translation of the basespacecraft are actively controlled by external forces provided typically by reactionjets or thrusters. Here the 3 DOF orientation of the basespacecraft is either not actively controlled or controlled only by momentumexchange devices. Thus, the total linear momentum of the system is controlled. Finally, in the Flying mode, all of the DOF at the manipulator joints are actively controlled by joint motor torques and the six DOF of motion of the basespacecraft are actively controlled by external forces/torques, thus controlling both the linear and angular momentum of the space robot.^{11}
However, the aforementioned modes covered in^{11} does not capture all possible modes of operation of space robot and they also suffer from other limitations. For the FreeFlying mode, the basespacecraft is assumed to be stabilized at all times, therefore, dealing with the system as a terrestrial manipulator with a fixed base in an inertial frame. Nevertheless, in some cases, the AOCS might not be able to achieve that due to the perturbation environment or parametric uncertainties. Thus, the assumption of fixed basemanipulator is not always valid; this introduces additional complexities. Moreover, for the FreeFloating case, the COM of the overall spacerobot is assumed to be fixed in space, thus, the total linear and angular momentum of the space robot is conserved, and this COM point is used as the inertial reference frame of the system. However, under an externally perturbed environment or whenever the onboard thrusters are used, this assumption is not valid. Furthermore, the additional modes of operation proposed by Wilde et al.,^{11} didn`t clarify whether the basespacecraft is permitted to move and simultaneously rotate to a new desired attitude through active control. This flexibility is needed to aid the arm in getting closer to its target for capturing. In conclusion, clearly a combination of these modes should be employed during different phases of operation and to minimize fuel expenditure.^{12} Thus, a new mode of operation, called the ControlledFloating mode, introduced in^{13} is used in this study. In this mode of operation, the basespacecraft is allowed to move and rotate in a controlled manner to match translational and angular rates with the target spacecraft, hence making it easier for the endeffector of the manipulator to perform different onorbit operations. Thereby, the new mode can enable the basespacecraft to attain a new desired pose to help the arm reach its target in an optimal way. The trajectory for the basespacecraft can be even designed in such a way that minimizes fuel consumption or dynamic coupling effects by using the Disturbance Map, as explained by Vafa & Dubowsky.^{14} Additionally, this approach uses the COM of the target spacecraft as the reference frame of the system, thus, avoiding the problems faced by the FreeFloating approach. This mode of operation has the benefits of both FreeFlying and FreeFloating systems, i.e., it minimizes fuel consumption and does not encounter any dynamic singularities in the workspace. Moreover, this mode of operation results in a highly redundant system and offers unlimited workspace, which is not possible with the traditional approaches. Additionally, the ControlledFloating Space Robot (CFSR) is even more efficient when the grasping point on the target spacecraft is out of reach of the robotic arm. This is because the joints of the robotic arm and the pose of the basespacecraft can be controlled simultaneously to access the desired grasping point. In^{15} a similar approach is introduced; however, it used a sequential motion, i.e., angular and linear motion of the basespacecraft are separated into two different modes of operations. Figure 1 shows the different modes of operations for the space robot and Table 1 gives a breakdown of the Pros and Cons of the main approaches.

Pros 
Cons 
Free Flying 
Stabilized and Controlled base 
Excessive fuel consumption 
No dynamic singularities 
Restricted workspace 

Similar to Earthbased manipulators 
Actuator saturation 

Only Kinematic singularities 

Free Floating 
Base is allowed to move and rotate freely 

No Fuel consumption due to absence of active control of basespacecraft 
Kinematics affect the Dynamic properties 

Dynamic singularities occur in workspace 

Undefined workspace 

Nonholonomic redundancy 

Controlled Floating 
Optimum Performance 
High Complexity 
Infinite Workspace 
Fuel consumption due to active control of basespacecraft 

Matching Linear and Angular rates 

No Dynamic singularities 
Table 1 Pros and Cons of different modes of operation for a space robot
Control algorithms
The control of space robot is considered difficult due to a number of reasons. For instance, due to high launch cost, there is a constraint on the mass and power budget that necessitate the use of smaller actuators. Additionally, their controller must handle the complex problems of compensating and accommodating for low resonance frequencies and nonlinear actuator saturations.^{16} Reliability policy for space development recommends the use of spacequalified and reliable technologies and subsystem's parts, and are reluctant to introducing advanced technologies. Thus, the satellite’s attitude is best controlled by conventional ProportionalDerivative (PD) or PID feedback controllers. Further, considering the space robot's applications, it is too risky to use the manipulator during closeproximity operations if there are no means for controlling both the attitude and the position of the spacecraft to which it is mounted. This, however, requires a high level of reliability, accuracy and forces for a fully controlled spacecraft. Considering the high mission cost, the use of an uncontrolled spacecraft during mission critical operations imposes high risks.^{17} Although this paper is not focused on the flexural dynamics, it is worth noting that rigid body controllers such as the Computer Torque Controller (CTC), which consists of feedforward linearization followed by a PID controller, will actively damp out the vibrations to some extent, therefore, improving the stability of the system. Alternatively, other control algorithms for the manipulator such as the optimal controllers or the adaptive techniques can be used, but the advantage of the CTC is that it provides robustness to compensate for any model uncertainties.^{7} In general, a linear feedback attitude controller is sufficient for maintaining stabilization of the attitude of the spacecraft when subjected to any space environmental perturbations. Nevertheless, the space robot is a highly nonlinear and extremely dynamic. Moreover, it will be also subjected to parametric uncertainties as well as other system constraints due to the dynamic coupling between the manipulator and the base spacecraft. Therefore, feedforward compensation and feedforward linearization methods are used to decouple and linearize the system respectively; thus, linear control schemes can be applied in the final stages of the control algorithm.
Feedforward compensation
The coupling reaction forces and moments that occur in space robots due to the manipulator's motion are tremendously larger than the most common environmental perturbations. Therefore, the feedback controllers which depend on detecting the attitude error using the onboard sensors will not be effective on their own. Instead, a better solution is to use feedforward compensation, which anticipates the manipulator's reactions.^{18} By using feedforward compensation, reaction forces and moments acting on the basespacecraft due to the manipulator's motion may be computed directly from the dynamics of the manipulator and be feedforward to the attitude control system of the spacecraft. RW, Control Moment Gyros (CMGs) and thrusters can then counteract these coupling effects on the spacecraft's mounting. Besides, a standard attitude control algorithm may be used in parallel to maintain the spacecraft's attitude stabilized against any other environmental perturbations. This is crucial for spacecraft's subsystems like solar panels, antenna and payload equipment to have a certain degree of pointing accuracy.
Employing feedforward compensation scheme to the control algorithm, stabilizes the position and attitude of the basespacecraft and improves the dynamic stability of the space robot by a full order of magnitude over the FreeFloating approach.^{2} The Japanese ETS VII OOS experiment showed that the lack of attitude control while operating the manipulator on the servicer spacecraft led to many problems.^{19} Therefore, it is essential to use an active and dedicated attitude controller for the basespacecraft. This can be done by employing threeaxis attitude stabilization by nonfuel expending wheels, such as RWs, Momentum Wheels (MWs) or CMGs to compensate for these dynamic coupling effects.
PID controller
Stabilizing a space robot with unmodeled uncertainties and external perturbations is a tedious task. In the literature, there are different methods such as the adaptive control,^{20} H_{∞} control, fuzzy control,^{21} optimal control, and feedback linearization^{22}, to list a few. Although these nonlinear robust control methods result in high performance and robustness, solving the associated HamiltonJacobi equation is often highly complicated and requires huge computational power; therefore, it makes the resulting controller hard to implement on the AOCS systems. On the contrary, PID controllers are known as the most widely used controllers in the industry with more than 90% of industrial systems in motion control, process control and aerospace systems using PID controllers.^{23} The popularity of this controller is due to several factors like its simple structure, robustness to system's inertia matrix, understandable principles, simple implementation, specific physical meaning and adjustable frequency response measure such as the gain margin, phase margin and bandwidth frequencies. Moreover, multiple simple and complicated tuning algorithms have been proposed to design the optimal PID controller,^{24} or to improve the system's closed loop performance, such as the Ziegler–Nichols^{25} and ÅströmHägglund phase margin^{26} methods. However, implementing such tuning algorithms may not lead to an acceptable closedloop response, particularly for dynamical systems with timevarying coefficients.^{22,27} Furthermore, tuning techniques must be simple and applicable for a vast variety of processes,^{28}. Additionally, it is observed that the closed loop response is rather sensitive to parametric perturbations when such tuning rules are implemented.^{29}
Nevertheless, conventional PID controllers are not robust enough for various applications such as timevarying processes, large time delays, visible nonlinearities and disturbance interactions.^{30} Moreover, PID controllers with fixed gains cannot stabilize perfectly a nonlinear system with uncertainties in terms of the model and parameters^{31} and it suffers from a low convergence rate.^{32} Therefore, in this paper, PID controllers are introduced only in the 3rd and final stage of the control algorithm. The PID controller comes into action after employing feedforward compensation and feedforward linearization to decouple and linearize the nonlinear space robot, respectively.
LQR controller
Over the last fifty years, worldwide aerospace researchers have addressed their work to the optimization of guidance, navigation and control performances, as well as paying care to the fuel consumption and time to launch costs. Therefore, it is clear that how high efficiency controls that ensure both position accuracy and fuel optimization have become a crucial issue in the scope of control systems, specifically in the aerospace sector.^{33} LQR controllers offer high efficiency controls that ensure both positioning accuracy and fuel optimization by minimizing the comprehensive Quadratic Performance Index (QPI).^{34} Moreover, they are widely used to control space systems. Additionally, LQR method calculates the feedback gain, which stabilizes the motion and overcome uncertainties due to disturbance.^{35,36} In^{37} Yang proved the effectiveness of a quaternion based LQR method for the design of nonlinear AOCS of the spacecraft, demonstrating how the designed controller made the nonlinear spacecraft system globally stable and optimized its performance. Another proof of LQR’s effectiveness and reliability was given by Walker and Spencer.^{38} Therefore, in this paper, the simulation results using the LQR controller as the 3^{rd} stage of the control algorithm is presented and results are compared against its PID counterpart in terms of performance, robustness and required control effort.
Orbiting space robots are characterized by complex, extended structures, and are often modelled using the generalized multibody dynamics. The payloads that the endeffector of the manipulator grasps are assumed to be attached to it and rigid. However, they increase the dynamic coupling effect due to increased mass and inertia of the arm, making its order of magnitude comparable to that of the spacecraft. Thus, the payloads and the manipulator are regarded as a multibody system representing a kinematic tree of interconnected rigid bodies.^{39} Any rotational motion of the bodies will produce a relative rotational and translational motion with respect to each other. The direct path approach was adopted, where determining the contribution of the motion of each body on its own to coefficient matrices of the overall mathematical model, therefore, describing the dynamics of the overall system. This approach is a vectoral path from the primary reference body, i.e. the basespacecraft to the centre of mass of each independent body, i.e. manipulator links, comprising the system. Robot dynamics is involved with relating the motion of the joints to the required joint torques to achieve certain trajectories. The required motor joint torques are computed to enforce precise trajectory tracking of the endeffector of the manipulator, describing its Cartesian motion. A typical 6 DOF manipulator mounted onto a 6 DOF basespacecraft generates a 12 DOF redundant space robot. The governing dynamical equations can be expressed as:^{10}
$\left[\begin{array}{c}{F}_{sc}\\ {\tau}_{sc}\\ {\tau}_{m}\end{array}\right]=\left[\begin{array}{cc}{D}_{sc}& {D}_{sc.m}\\ {D}_{sc.m}^{T}& {D}_{m}\end{array}\right]\left[\begin{array}{c}\ddot{X}\\ \ddot{\theta}\end{array}\right]+\left[\begin{array}{c}\begin{array}{cc}{C}_{sc}& {C}_{sc.m}\end{array}\\ \begin{array}{cc}{C}_{sc.m}^{T}& {C}_{m}\end{array}\end{array}\right]\left[\stackrel{\u0307}{\begin{array}{c}X\\ \dot{\theta}\end{array}}\right],$ (6.1)
where ${D}_{sc}$ ,${D}_{sc.m}$ , ${D}_{m}$ represents the inertial acceleration terms and ${C}_{sc}$ ,${C}_{sc.m}$ , ${C}_{m}$ represents the nonlinear Coriolis and Centrifugal force terms. $X$ represents the state vector of the spacecraft while $\theta $ represents the state vector of the manipulator.
$X=\left[\begin{array}{cc}{r}_{0}& \varphi \end{array}\right]=\left[\begin{array}{ccc}x& y& \begin{array}{ccc}z& \alpha & \begin{array}{cc}\beta & \gamma \end{array}\end{array}\end{array}\right]\text{and}\theta =\left[\begin{array}{ccc}{\theta}_{1}& {\theta}_{2}& \begin{array}{ccc}{\theta}_{3}& \dots & {\theta}_{n}\end{array}\end{array}\right]$
where ${r}_{0}$ is the relative position vector from the center of mass of the basespacecraft to the center of mass of the target spacecraft, $\varphi $ represent the Euler angles representing the rotation of the basespacecraft with respect to the inertial frame and ${\theta}_{i}$ is rotation angle of the i^{th} joint.
Dynamics of the basespacecraft
For obtaining the dynamic model of the basespacecraft, the terms ${D}_{sc}$ and ${C}_{sc}$ , which represent the Inertial and the nonlinear accelerations of the spacecraft respectively, and are represented as follows:
${D}_{sc}=\left[\begin{array}{cc}{D}_{v}& {D}_{v\omega}\\ {D}_{\omega v}& {D}_{\omega}\end{array}\right]{C}_{sc}=\left[\begin{array}{c}\begin{array}{cc}0& {C}_{sc.v}\end{array}\\ \begin{array}{cc}0& {C}_{sc.\omega}\end{array}\end{array}\right],$ (6.2)
where the terms ${D}_{v}$ , ${D}_{v\omega}$ , ${C}_{s{c}_{v}}$ are derived based on the conservation of the Linear momentum of the system, while ${D}_{\omega v}$ , ${D}_{\omega}$, ${C}_{s{c}_{\omega}}$ are based on the conservation of the angular momentum. Figure 2 represents some of the basic parameters used to define the position vectors for the overall system's different parts.
Here ${r}_{0}$ is position vector from the Inertial frame to the center of mass of the basespacecraft, ${r}_{i}$ is position vector of the COM of the i^{th} link to the center of mass of the basespacecraft, ${B}_{{r}_{cm}}$ is position vector from the COM of the basespacecraft to the COM of the overall system, ${C}_{{m}_{{r}_{i}}}$ is position vector from the COM of the i^{th} link to the COM of the overall system and ${r}_{cm}$ is the position vector from the Inertial frame to the COM of the overall system. The total Inertia of the space robot can be defined as follows:
${I}_{tot}={I}_{sc}{\text{M}}_{\text{sc}}{\left[{B}_{{r}_{cm}}\right]}_{\times}{\left[{B}_{{r}_{cm}}\right]}_{\times}+{\displaystyle \sum}_{i=1}^{n}\left({R}_{i}^{0}{I}_{i}{R}_{i}^{0}{}^{T}{\text{m}}_{\text{i}}{\left[c{m}_{{r}_{i}}\right]}_{\times}{\left[c{m}_{{r}_{i}}\right]}_{\times}\right)$ (6.3)
where ${I}_{sc}$ is the moment of inertia of the basespacecraft at its center of mass, ${\text{M}}_{\text{sc}}$ is the mass of the basespacecraft, ${I}_{i}$ is the inertia matrix of each link of the manipulator about its center of mass, ${\text{m}}_{\text{i}}$ is the mass of the i^{th} link and ${R}_{i}^{0}$ is the rotation transformation matrix to transform any vector from a frame attached to the i^{th} link to the inertial frame (DH 4x4 matrix). Based on the Conservation of linear and angular momentum, the terms of equation (6.2) are
${D}_{v}={\text{M}}_{\text{tot}}E,{D}_{v\omega}={\text{M}}_{\text{tot}}{\left[{B}_{{r}_{cm}}\right]}_{\times}{R}_{\omega},{D}_{\omega v}={\text{M}}_{\text{tot}}{\left[{B}_{{r}_{cm}}\right]}_{\times},{D}_{\omega}=A{R}_{\omega}$ (6.4)
${C}_{sc}{}_{v}={\text{M}}_{\text{tot}}{\left[{B}_{{r}_{cm}}\right]}_{\times}{\dot{R}}_{\omega}{\text{M}}_{\text{tot}}{\left[{\omega}_{sc}\right]}_{\times}{\left[{B}_{{r}_{cm}}\right]}_{\times}{R}_{\omega},\text{}{C}_{sc}{}_{\omega}=A{\dot{R}}_{\omega}+{\left[{\omega}_{sc}\right]}_{\times}B{R}_{\omega}$ (6.5)
As,
$A={I}_{sc}\left({\text{M}}_{\text{tot}}+{\text{M}}_{\text{sc}}\right){\left[{B}_{{r}_{cm}}\right]}_{\times}{\left[{B}_{{r}_{cm}}\right]}_{\times}+{\displaystyle \sum}_{i=1}^{n}\left({R}_{i}^{0}{I}_{i}{R}_{i}^{0}{}^{T}{\text{m}}_{\text{i}}{\left[c{m}_{ri}\right]}_{\times}{\left[c{m}_{ri}\right]}_{\times}\right)$ (6.6)
$B={I}_{sc}{\text{M}}_{\text{sc}}{\left[{B}_{{r}_{cm}}\right]}_{\times}{\left[{B}_{{r}_{cm}}\right]}_{\times}+{\displaystyle \sum}_{i=1}^{n}\left({R}_{i}^{0}{I}_{i}{R}_{i}^{0}{}^{T}{\text{m}}_{\text{i}}{\left[c{m}_{ri}\right]}_{\times}{\left[c{m}_{ri}\right]}_{\times}\right){\text{M}}_{\text{tot}}{\left[{B}_{{r}_{cm}}\right]}_{\times}$ (6.7)
Here is the identity ${\mathbb{R}}^{3\times 3}$ matrix and ${R}_{\omega}$ is the angular velocity matrix:
${R}_{\omega}=\left[\begin{array}{ccc}1& 0& \mathrm{sin}\beta \\ 0& \mathrm{cos}\alpha & \mathrm{sin}\alpha \mathrm{cos}\beta \\ 0& \mathrm{sin}\alpha & \mathrm{cos}\alpha \mathrm{cos}\beta \end{array}\right]$ (6.8)
Dynamics of the robotic manipulator
Based on the EulerLagrangian approach, the dynamical model of the robotic manipulator is expressed as:
${D}_{m}\left(\theta \right)={\displaystyle \sum}_{i=1}^{n}\left({m}_{i}{J}_{{v}_{{m}_{i}}}{\left(\theta \right)}^{T}{J}_{{v}_{{m}_{i}}}\left(\theta \right)+{J}_{{\omega}_{{m}_{i}}}{\left(\theta \right)}^{T}{R}_{i}{I}_{i}{R}_{i}^{T}{J}_{{\omega}_{{m}_{i}}}\left(\theta \right)\right)$ (6.9)
Where ${J}_{{v}_{{m}_{i}}}$ is the Translational Jacobian for the center of mass of the i^{th} link and ${J}_{{\omega}_{{m}_{{}_{i}}}}$ is the Rotational Jacobian for the center of mass of the i^{th} link.
Prior to deriving the Jacobian matrix, one has to find the equation of the position of the endeffector with respect to the Inertial frame and the total Jacobian of the system to decouple it into the spacecraft and manipulator Jacobian matrices.^{47} The position of the endeffector shown in Figure 3 is expressed as:
${P}_{e}={r}_{{c}_{0}}+{R}_{0}{S}_{0}+{\displaystyle \sum}_{i=1}^{n}{R}_{i}{L}_{i}$ (6.10)
where,
${R}_{i}={\displaystyle \prod}_{i=0}^{n}{R}_{i}^{0}$ (6.11)
${P}_{e}$ is the position vector of the endeffector, ${R}_{0}$ is the rotation matrix of the base spacecraft with respect to the inertial frame, ${L}_{i}$ is the vector from the i^{th} joint to the (i+1)^{th} joint, ${r}_{i}$ is the distance from COM of i^{th} link to the preceding joint in the inertial frame and ${S}_{i}$ is distance from COM of i^{th} link to the subsequently joint in the inertial frame. The translational and rotational Jacobian for the COM of the i^{th} link can be expressed as follows:
${J}_{{v}_{{m}_{i}}}={\displaystyle \sum}_{j=1}^{i}\left[{\displaystyle \sum}_{k=1}^{j}\frac{\partial {R}_{j}}{\partial {\theta}_{k}}{r}_{j}+{\displaystyle \sum}_{k=1}^{j1}\frac{\partial {R}_{j1}}{\partial {\theta}_{k}}{S}_{j1}\right],{J}_{{\omega}_{{m}_{i}}}={\displaystyle \sum}_{j=1}^{i}{R}_{j1}^{0}\hat{k}$ (6.12)
Accordingly, ${C}_{m}$ the matrix can be found as,
${C}_{m}\left(\theta ,\dot{\theta}\right)=\left[\begin{array}{ccc}{\text{c}}_{11}& {\text{c}}_{12}& \begin{array}{cc}\dots & {\text{c}}_{1\text{n}}\end{array}\\ {\text{c}}_{21}& {\text{c}}_{22}& \begin{array}{cc}\dots & {\text{c}}_{2\text{n}}\end{array}\\ \begin{array}{c}\mathrm{...}\\ {\text{c}}_{\text{n}1}\end{array}& \begin{array}{c}\dots \\ {\text{c}}_{\text{n}2}\end{array}& \begin{array}{cc}\begin{array}{c}\dots \\ \dots .\end{array}& \begin{array}{c}\dots \\ {\text{c}}_{\text{nn}}\end{array}\end{array}\end{array}\right],{c}_{kj}={\displaystyle \sum}_{i=1}^{n}{c}_{ijk}{\dot{\theta}}_{i}=\frac{1}{2}{\displaystyle \sum}_{i=1}^{n}\left[\frac{\partial {d}_{kj}}{\partial {\theta}_{i}}+\frac{\partial {d}_{ki}}{\partial {\theta}_{j}}\frac{\partial {d}_{ij}}{\partial {\theta}_{k}}\right]{\dot{\theta}}_{i}$ (6.13)
Dynamic coupling between manipulator and basespacecraft
The dynamic coupling is referred to the relative forces and moments generated from the motion of the manipulator and applied on the base spacecraft, which causes the attitude to change. Modelling the dynamic coupling is based on the conservation of relative linear and angular momentum of the manipulator. In order to find the dynamic coupling matrices, ${D}_{sc.m}$ and ${C}_{sc.m}$ , one has to compute the embedded matrices ${D}_{vm}$ , ${D}_{\omega m}$ , ${C}_{vm}$ and ${C}_{\omega m}$ from relative linear and angular momentum where:
${D}_{sc.m}=\left[\begin{array}{c}{D}_{vm}\\ {D}_{\omega m}\end{array}\right]$ and ${C}_{sc.m}=\left[\begin{array}{c}{C}_{vm}\\ {C}_{\omega m}\end{array}\right]$ (6.14)
Based on the conservation of relative linear momentum, it can be found that:
${D}_{vm}={\displaystyle \sum}_{i=1}^{n}{m}_{i}{J}_{{T}_{i}},{C}_{vm}={\displaystyle \sum}_{i=1}^{n}{m}_{i}{\dot{J}}_{{T}_{i}}$ (6.15)
where ${J}_{{}_{{T}_{i}}}$ is the relative linear translational Jacobian and can be expressed as:
${J}_{{T}_{i}}={\displaystyle \sum}_{j=1}^{i}\left[{\displaystyle \sum}_{k=1}^{j}\frac{\partial {R}_{j}}{\partial {\theta}_{k}}{r}_{j}+{\displaystyle \sum}_{k=1}^{j1}\frac{\partial {R}_{j1}}{\partial {\theta}_{k}}{s}_{j1}\right]$ (6.16)
Based on the conservation of relative angular momentum, it can be found that:
${D}_{\omega m}={\displaystyle \sum _{i=1}^{n}\left({R}_{i}^{0}{I}_{i}{R}_{i}^{{0}^{T}}J{\omega}_{i}+{m}_{i}{\left[{p}_{{c}_{i}}\right]}_{\times}{J}_{{T}_{i}}\right)},{C}_{\omega m}={\displaystyle \sum}_{i=1}^{n}\left({R}_{i}^{0}{I}_{i}{R}_{i}^{{0}^{T}}\dot{J}{\omega}_{i}+{m}_{i}{\left[{p}_{{c}_{i}}\right]}_{\times}{\dot{J}}_{{T}_{i}}\right)$ (6.17)
where ${p}_{{c}_{i}}$ is the position vector of CM of i^{th} link with respect to inertia frame and ${J}_{\omega}{}_{{}_{i}}$ is the angular velocity Jacobian of the i^{th} link. Therefore, the final inertial acceleration matrix D and the centrifugal and Coriolis acceleration matrix C are:
$D=\left[\begin{array}{ccc}{D}_{v}& {D}_{v\omega}& {D}_{vm}\\ {D}_{v\omega}^{T}& {D}_{\omega}& {D}_{\omega m}\\ {D}_{vm}^{T}& {D}_{\omega m}^{T}& {D}_{m}\end{array}\right],C=\left[\begin{array}{ccc}0& {C}_{sc.v}& {C}_{vm}\\ 0& {C}_{sc.\omega}& {C}_{\omega m}\\ {C}_{vm}^{T}& {C}_{\omega m}^{T}& {C}_{m}\end{array}\right]$ (6.18)
Forward and inverse kinematics for a space robot
By referring to equation (6.12) and Figure 3, the forward kinematics for the endeffector of the manipulator can be expressed as:
${\dot{P}}_{e}=\left[\begin{array}{cc}{J}_{v}{}_{sc}& {J}_{{v}_{m}}\end{array}\right]\left[\begin{array}{c}\dot{X}\\ \dot{\theta}\end{array}\right]$ (6.19)
Through using the pseudo inverse, the inverse kinematics can be expressed as:
$\dot{\theta}={\left({J}_{{v}_{m}}^{T}{J}_{{v}_{m}}\right)}^{1}{J}_{{v}_{m}}^{T}\left({\dot{P}}_{e}{J}_{{v}_{sc}}\dot{X}\right)$ (6.20)
As
${J}_{{v}_{e}}{}_{{}_{{}_{sc}}}=\left[\begin{array}{cc}E& {J}_{v}{}_{sc}^{\text{'}}\end{array}\right],{J}_{{v}_{e}}{}_{sc}^{\text{'}}=\frac{\partial {R}_{0}}{\partial \varphi}{S}_{0}+{\displaystyle \sum}_{i=1}^{n}\frac{\partial {R}_{i}}{\partial \varphi}{L}_{i},$ (6.21)
${J}_{{v}_{e}{}_{m}}={\displaystyle \sum}_{i=1}^{n}{\displaystyle \sum}_{k=1}^{i}\left(\frac{\partial {R}_{i}}{\partial {\theta}_{k}}\right){L}_{i}$ (6.22)
where $\varphi $ is the Euler angles of the basespacecraft, ${R}_{0}$ is the axes transformation matrix for the basespacecraft using Yaw, Pitch and Roll (321) rotation sequence and is given by,
${R}_{0}=\left[\begin{array}{l}\mathrm{cos}\varphi cos\theta \mathrm{cos}\varphi sin\theta sin\psi \mathrm{sin}\varphi \mathrm{cos}\psi \mathrm{cos}\varphi \mathrm{sin}\theta \mathrm{cos}\psi +\mathrm{sin}\varphi \mathrm{sin}\psi \\ \mathrm{sin}\varphi cos\theta \mathrm{sin}\varphi \mathrm{sin}\theta \mathrm{sin}\psi +\mathrm{cos}\varphi \mathrm{cos}\psi \mathrm{sin}\varphi \mathrm{sin}\theta \mathrm{cos}\psi \mathrm{cos}\varphi \mathrm{sin}\psi \\ \mathrm{sin}\theta \mathrm{cos}\theta \mathrm{sin}\psi \mathrm{cos}\theta \mathrm{cos}\psi \end{array}\right]$ (6.23)
Figure 4 shows the closedloop simulation of the nonlinear dynamic model discussed in Section 6. Here the basespacecraft is controlled by the AOCS controller to reach the required relative linear and angular rates to match the target spacecraft using feedback from the inertial sensors. On the other hand, the manipulator is being controlled by the arm’s controller to enable its endeffector to track the required trajectory.
Environmental perturbations
As aforementioned in Sec. 1, the space robot will be subjected to environmental perturbations due to the microgravity environment in space; this is mainly due to Gravity Gradient, Aerodynamic Drag, Solar Pressure and Residual Magnetic disturbances. Disturbances observed on the previous missions had a sinusoidal behavior with some fluctuations of varying frequencies. Moreover, these perturbations can be influenced by multiple factors, mainly the orbit parameters of the space robot, solar activities and magnetic storms. Previous data show that the maximum value of these perturbations combined is of the order of magnitude 10^{5}Nm, however, these data were only correlated to standard satellites.^{41} Nevertheless, a space robot may encounter different order of magnitude of these perturbations due to their bigger size and its robotic manipulator, which acts as a gravity boom during operation; therefore, it increases the effects of the gravity gradient tremendously. In fact, data from the Japanese spacecraft ETS VII that was equipped with a 2m long robotic arm showed that these disturbances are significantly larger than those experienced by a typical spacecraft. The order of magnitude of perturbations experienced by the ETS VII was in the order of ~10^{6}→10^{3}Nm.This is 100 times bigger than what the typical spacecraft encounters.^{41} Therefore, based on these data, the external disturbances used in this paper for simulations are sinusoidal waves with a Gaussian random noise of zero mean. In addition, the magnitude of the disturbances used here are 3 order of magnitudes higher than the ones observed in previous space missions. This allows for a good margin of safety and testing the proposed control algorithms' limits and robustness against these huge disturbances. Table 2 gives a breakdown of the external disturbances used and their corresponding parameters. The characteristics of the disturbances acting on the thrusters are shown in Figure 5. Furthermore, the same disturbances are imposed on the reaction wheels and joint motors but with a different order of magnitude.

Sinusoidal 
Gaussian Random Noises 


Magnitude 
Frequency 
Mean 
Standard Deviation 
Disturbance Forces on Thrusters 
0.8 
2 rad/s 
0 
0.1 
Disturbance Moments on Reaction Wheels 
0.4 
2 rad/s 
0 
0.08 
Disturbance Moments on Joint Motors 
0.1 
2 rad/s 
0 
0.03 
Table 2 External environmental perturbations used in simulation
Mass [kg] 
Length [m] 
Width [m] 
Height [m] 
Principal Moments of Inertia [kg m^{2}] 
200 
1 
1 
1 
[40,40,40] 
Table 3 Basespacecraft specifications
Parametric uncertainty
In practical robotic systems, the parameters of the system cannot be known a priori. For example, the load may vary while performing various operations; thus, varying the friction coefficient in different configurations. Moreover, some neglected nonlinearities, such as backlash, may introduce disturbances to the control action. Therefore, it is crucial to consider the effects of internal parametric uncertainty on the model.^{42 }Internal disturbances may be caused by any uncertainties in the D or C matrices due to any unmodeled parametric changes in the system. For example, any uncertainty in computing the actual fuel consumption may result in major internal disturbances that will affect the system's performance.^{42} Accordingly, the additional internal disturbances imposed on the system can be written as:
$\left[\begin{array}{c}\Delta {F}_{sc}\\ \Delta {\tau}_{sc}\\ \Delta {\tau}_{m}\end{array}\right]=\left[\begin{array}{cc}\Delta {D}_{sc}& \Delta {D}_{sc.m}\\ \Delta {D}_{sc.m}^{T}& \Delta {D}_{m}\end{array}\right]\left[\begin{array}{c}\ddot{X}\\ \ddot{\theta}\end{array}\right]+\left[\begin{array}{c}\begin{array}{cc}\Delta {C}_{sc}& \Delta {C}_{sc.m}\end{array}\\ \Delta \begin{array}{cc}{C}_{sc.m}^{T}& \Delta {C}_{m}\end{array}\end{array}\right]\left[\stackrel{\u0307}{\begin{array}{c}X\\ \dot{\theta}\end{array}}\right]$ (7.1)
In this paper, for simulation purpose, the internal disturbance due to the uncertainty in fuel consumption was considered and this will, in turn, produce a change in the D_{sc} and C_{sc} matrices. Therefore, it produces a force and moment that will alter the linear and angular motion of the basespacecraft. Thus, the above equation can be rewritten as:
$\left[\begin{array}{c}\Delta {F}_{sc}\\ \Delta {\tau}_{Sc}\end{array}\right]=\Delta {D}_{sc}\ddot{X}+\Delta {C}_{sc}\dot{X}$ (7.2)
Based on equation (7.2), the dependency of these internal disturbances on the states of the system which are changed by the control algorithm is apparent. Therefore, each simulation is going to have different internal disturbances imposed. Results in Figure 6 are obtained from the ControlFloating mode simulation over 100 s. It shows the effects of the uncertainty in fuel consumption, which accordingly will change the mass of the spacecraft and in turn produce internal disturbances on the system. It can be seen that these disturbances also follow a cyclic behavior due to the imposed external disturbance on the system as discussed in Sec. 7.1.
In this section, a 3stage control algorithm is presented for the space robot. The first stage would be feedforward compensation to decouple the space robot system into a 6 DOF robotic manipulator and a 6 DOF basespacecraft. It also compensates for the dynamic coupling reaction forces and moments between the two decoupled systems. The second stage would be feedforward linearization using a nonlinear controller to linearize both decoupled nonlinear systems. The third and final stage of control will be to design a linear PID or LQR controller for the linearized decoupled systems. The stepbystep process for designing the controller is described here below:
Feedforward compensation
As stated in Section 5.2.1, to decouple the system, feedforward compensation should be used to mitigate the effects of the ${D}_{{}_{sc.m}}$ and ${C}_{sc.m}$ terms, as follows:
$\left[\begin{array}{c}{F}_{s{c}_{FFC}}\\ {\tau}_{s{c}_{FFC}}\\ {\tau}_{{m}_{FFC}}\end{array}\right]=\left[\begin{array}{cc}0& {D}_{sc.m}\\ {D}_{sc.m}^{T}& 0\end{array}\right]\left[\begin{array}{c}\ddot{X}\\ \ddot{\theta}\end{array}\right]+\left[\begin{array}{c}\begin{array}{cc}0& {C}_{sc.m}\end{array}\\ \begin{array}{cc}{C}_{sc.m}^{T}& 0\end{array}\end{array}\right]\left[\stackrel{\u0307}{\begin{array}{c}X\\ \dot{\theta}\end{array}}\right]$ (8.1)
Hence, after applying the feedforward compensation, the 12DoF space robot system is decoupled into a 6 DOF basespacecraft and a 6 DOF robotic manipulator. This decoupled system can be as follows:
$\left[\begin{array}{c}{F}_{sc}\\ {\tau}_{sc}\\ {\tau}_{m}\end{array}\right]=\left[\begin{array}{cc}{D}_{sc}& 0\\ 0& {D}_{m}\end{array}\right]\left[\begin{array}{c}\ddot{X}\\ \ddot{\theta}\end{array}\right]+\left[\begin{array}{c}\begin{array}{cc}{C}_{sc}& 0\end{array}\\ \begin{array}{cc}0& {C}_{m}\end{array}\end{array}\right]\left[\stackrel{\u0307}{\begin{array}{c}X\\ \dot{\theta}\end{array}}\right]$ (8.2)
As seen from equation (8.2), the mutual dynamic coupling is eliminated by removing the terms ${D}_{{}_{sc.m}}$ and ${C}_{sc.m}$ from the dynamics equation.
Feedforward linearization
The dynamic model obtained using feedforward compensation in equation (8.2) is still very complex, extremely dynamic and nonlinear in nature. Hence, a linear PID or LQR controller cannot guarantee the stability of the closedloop system. Therefore, to solve this issue, the feedforward linearization technique is applied after the feedforward compensation process to linearize the decoupled systems. This allows the use of a LQR or PID controller in the final stage. The control law for feedforward linearization is expressed as follows:
$\left[\begin{array}{c}{F}_{s{c}_{FFL}}\\ {\tau}_{s{c}_{FFL}}\\ {\tau}_{{m}_{FFL}}\end{array}\right]=\left[\begin{array}{cc}{D}_{sc}& 0\\ 0& {D}_{m}\end{array}\right]\left[\begin{array}{c}{F}_{sc}{}_{Linear}\\ {\tau}_{sc}{}_{Linear}\\ {\tau}_{m}{}_{Linear}\end{array}\right]+\left[\begin{array}{c}\begin{array}{cc}{C}_{sc}& 0\end{array}\\ \begin{array}{cc}0& {C}_{m}\end{array}\end{array}\right]\left[\stackrel{\u0307}{\begin{array}{c}X\\ \dot{\theta}\end{array}}\right]$ (8.3)
Using equation (8.3) in (8.2):
$\left[\begin{array}{c}{F}_{sc}{}_{Linear}\\ {\tau}_{sc}{}_{Linear}\\ {\tau}_{m}{}_{Linear}\end{array}\right]=\left[\begin{array}{c}\ddot{X}\\ \ddot{\theta}\end{array}\right]$ (8.4)
Therefore, as seen from equation (8.4), feedforward linearization results in a simple, decoupledlinear system that can be further controlled using conventional LQR or PID controllers.
PID controller
As discussed in Section 5.2.2, conventional PID controllers are not the best choice when it comes to controlling a space robot due to its high complexity, nonlinearity and limited robustness to both external perturbations and model uncertainties. Thus, the PID controller will be used only in the final stage of the threestage control algorithm presented. In addition, this staging method allows tuning the gains of the PID controller using the characteristic equation of the linearizeddecoupled systems, therefore, gaining much better performance as a result of choosing accurate gain values. The PID linear controller, which represents the third stage of the control algorithm, can be expressed as:
$\left[\begin{array}{c}{F}_{sc}{}_{Linear}\\ {\tau}_{sc}{}_{Linear}\\ {\tau}_{m}{}_{Linear}\end{array}\right]=\left[\begin{array}{c}{\ddot{X}}_{Desired}\\ {\ddot{\theta}}_{Desired}\end{array}\right]+{K}_{p}\left[\begin{array}{c}{X}_{Desired}X\\ {\theta}_{Desired}\theta \end{array}\right]+{K}_{d}\left[\begin{array}{c}{\dot{X}}_{Desired}\dot{X}\\ {\dot{\theta}}_{Desired}\dot{\theta}\end{array}\right]+{K}_{i}{{\displaystyle \int}}^{\text{}}\left[\begin{array}{c}{X}_{Desired}X\\ {\theta}_{Desired}\theta \end{array}\right]$ (8.5)
Figure 7 shows the implementation of the 3stage control algorithm with a PID controller in its final stage. It shows the feedforward compensation scheme to eliminate the dynamic coupling reactions that are computed based on the reading of the joint sensors of the manipulator. It is fedforward, in realtime, to the spacecraft motion controller for counteracting these effects. Furthermore, saturation blocks are added to limit the control output within the practical limits of the actuation system onboard the spacecraft.
LQR controller
The LQR controller is based on state feedback and its gains are determined based on the tradeoff between transient performance and control effort. Thus, the optimal control approach^{43} to this tradeoff is to define and minimize the cost function. Furthermore, since the robot generally has to reach a nonzero target position and attitude, a nonzero set point optimal control^{44} has been considered. This enables the controller to follow the desired trajectory by shifting the actual state $x\left(t\right)=\left[X\text{}\theta \right]$ by a desired quantity ${x}_{{}_{d}}$ , thus obtaining the error, defined as:
${x}_{e}\left(t\right)={x}_{{}_{d}}\left(t\right)x\left(t\right)$ (8.6)
First, the optimal control problem is solved using the method of calculus of variations. Thus, the control action u (t) that stabilizes the closedloop system over a fixed time ${\text{t}}_{\text{f}}$ whilst minimizing the cost function is given as:
$\text{J}=\underset{0}{\overset{{\text{t}}_{\text{f}}}{{\displaystyle \int}}}x{\left(t\right)}^{T}Qx\left(t\right)+u{\left(t\right)}^{T}Ru\left(t\right)dt$ (8.7)
As shown in equation (5.7), the cost function is dependent on two terms, the first penalizes the variation of the states from the desired ones, while the second penalizes the use of excessive control action to control the system. Moreover, the weighting of these terms is controlled by the weighting matrices $Q$ and $R$ respectively. In the above terminology, u(t) is the state feedback control law, resulting from the quadratic performance index optimization subjected to the state equations. $Q$ is a positive semi definite state weighting matrix, and $R$ is the control weighting matrix that also has to be positive definite.^{45} Therefore, the control law is written as:
$u\left(t\right)=K{x}_{error}\left(t\right)$ (8.8)
where K is the state feedback gain and can be found from:
$K={R}^{1}{B}^{T}P$ (8.9)
and P is the solution of the Algebraic Riccati equation (ARE)
${A}^{T}P+PAPB{R}^{1}{B}^{T}P+Q=0$ (8.10)
It is observed that an arbitrarily rapid reduction in the states of the system can be achieved at the expense of a corresponding increase in the control action that can be impossible to implement in practical situations. Moreover, an arbitrarily large reduction in control action may cause a significant elevation of the state and deviation from the desired set points, resulting in an undesirable situation in the attitude control process.^{46} As a result, the selection of the gains of the LQR control law and the weighting matrices of the LQR is a highly laborious process. Thus, a reasonable choice of Q and R makes the closedloop system acquire stable performance, while limiting the control action and minimizing fuel expenditure. However, in simulations, the choices of the elements of the Q and R matrices were made based on the diagonal weighting method.It verifes which values best meet the performance criteria such as the overshoot, control effort and settling time; thus, it results in better performance of the system. Like the PID controller, Figure 8 shows the implementation of the LQR controller as a final stage to maintain the space robot's stability.
In this section, the performance and robustness of the PID controller is compared against its LQR counterpart for the FreeFlying and ControlledFloating space robot. The simulations took into account the presence of extreme external disturbances, internal fuel consumption and parametric uncertainties imposed on the system. A fifthorder polynomial function is used to generate smooth trajectories between different set points for both the arm and the basespacecraft. Additionally, the control action required from the onboard actuation systems is limited to 1→5N for thrusters (like cold or hot gas thrusters) and up to 2N for RWs.^{48} Since this paper is focused on the closerange approach with the target spacecraft, the orbital parameters are not relevant. Table 4 shows the parameters of the spacecraft, while a standard UR10 robotic arm^{49} was used in the simulations.
Controller 
Execution Time 
PID 
0.5 µs 
LQR 
0.9 µs 
FeedForward Compensation 
0.9 µs 
FeedForward Linearization 
16.5 µs 
Overall Execution Time 
2122 µs 
Table 4 Control algorithms execution time
Freeflying space robot
As discussed previously in section 5.1, in this approach, the basespacecraft tries to maintain stabilization with minimum fluctuations in both position and attitude while the endeffector of the arm follows its desired trajectory to engage with the target spacecraft.
PID results
Simulation results using the PID controller in the FreeFlying approach are shown below. Figure 9 shows the trajectory tracking of the endeffector of the manipulator. It can be seen that the PID controller was able to achieve good trajectory tracking; however, towards the end of the trajectory, the PID could not maintain low level of fluctuations. Nevertheless, the order of magnitude of these variations is still very small and is acceptable for some mission operations. Furthermore, these simulations results are for extreme perturbation environment; therefore, under realistic order of magnitudes for disturbances, the PID is capable of accomplishing perfect tracking throughout the whole trajectory. Moreover, for the relative motion between the Servicer and Target spacecraft during the closerange approach, the PID controller was able to maintain a sinusoidal deviation of maximum 4.7×10^{4}m for the relative position and a maximum error of $0.19\xb0$ in the relative attitude as shown in Figure 10a & 10c respectively. Additionally, the biggest cyclic deviation is in the 6^{th }joint of the manipulator, which is about $2\xb03\xb0$ as seen in Figure 10c; this is due to the cumulative effect of external and internal disturbance in the previous five joints. Although this error in the angle is the biggest compared to the other joints, it is still very tolerable in most cases. Moreover, the PID controller was able to maintain the control action under 1N and 1Nm for the thrusters and reactions wheels, as seen in Figure 10d & 10e respectively; this is very realizable for most onboard actuators and more importantly, it saves fuel. Moreover, the control action required was under 1Nm except for the 1^{st} joint, where the maximum control action was about 2Nm; this is due to the total weight and inertia of the arm.
Figure 10 Simulation Results for PID; (a) Relative position, (b) Relative attitude, (c) joint angles, (d) Thrusters force, (e) Reaction Wheels control Toques, (f) Joint Torques.
LQR results
Simulation results for the LQR controller in the FreeFlying approach is shown in Figure 11. Unlike the PID controller, the LQR controller was able to maintain perfect trajectory tracking with infinitesimal fluctuations at the end, as shown in Figure 11a. Therefore, this can be used for high accuracy operations like assembly or mating parts. Moreover, the LQR controller was able to maintain stabilization with a maximum fluctuation of $0.1\xb0$ for the base spacecraft attitude, as illustrated in Figure 11c. Nevertheless, the deviations in the relative position for the basespacecraft reached a maximum of 4.7×10^{4}m as shown in Figure 11b, which is a little higher than the PID controller was able to achieve. Furthermore, Figure 11d shows that the LQR maintained much lower fluctuations in the 6^{th} joint of the manipulator (less than $0.5\xb0$ ), unlike the cyclic $2\xb0$ variations obtained with the PID controller. However, although the LQR controller has higher accuracy and robustness to perturbations, it required more fuel. Figure 11e shows that the maximum control action for the thrust was 50% more than its PID counterpart, therefore, reducing the mission lifetime of the space robot. Additionally, as seen in Figure 11a the maximum control action required from the joint motors is 0.6Nm which is 3 times larger; however, this can be still achieved by commercial space qualified motors. Nevertheless, both controllers can be equipped with similar reaction wheels since they demand a similar level of internal torques, as depicted in Figure 11b.
Figure 11 Simulation Results for LQR; (a) Trajectory Plot, (b) relative position, (c) relative attitude, (d) joint angles, (e) Thrusters, (f) Reaction Wheels, (g) Joint Motor.
Controlledfloating space robot
Unlike the FreeFlying approach, the controlledfloating mode allows the basespacecraft to move and rotate in a controlled manner to match translational and angular rates with the target spacecraft. This is suitable for more sophisticated missions that need precise operations. The trajectory of the base can even be designed in such a manner to minimize dynamic coupling and fuel consumption using the Disturbance Map explained by Vafa and Dubowsky in.^{14} However, this paper is not focused on the trajectory planning and instead, a 5^{th} order polynomial function is used to generate a trajectory of both the attitude and position of the basespacecraft between two set points. This choice took into account realtime scenarios where the space robot has to match its rates with the target spacecraft.
PID results
Simulation results using the PID controller in the ControlledFloating approach are discussed below. Figure 12a shows the resulting 3D trajectory tracking graph for the endeffector of the manipulator. The PID controller was able to maintain perfect tracking of the desired trajectory without any crosstrack errors or fluctuations along the path. Figure 12b & 12c shows the actual relative position and attitude trajectories being followed by the basespacecraft to attain the orientation and position with respect to the target whilst maintaining 1m distance to avoid any collisions. However, Figure 12c shows some small fluctuations in ϕ till the steady state value is reached. Similar to the FreeFlying case, Figure 13a shows some minor fluctuations of $2\xb0$ on the 6^{th} joint of the manipulator; this is an acceptable level of accuracy for some missions. It is important to recall that these simulated results are for extreme environmental disturbances but under realistic microgravity environment, these responses will be much smoother and accurate. The extreme cases are considered here mainly to test the limits of the control algorithms used. As shown in Figure 13b, the PID controller was able to achieve perfect tracking and was able to achieve it under 1N saturation limit on the thrusters; this is similar to the saturations used for the FreeFlying approach. Therefore, it minimizes fuel consumption, moreover, this control effort is a small value compared to the capabilities of modern thrusters, which can reach 5N. Additionally, Figure 13c & 13d shows that the saturation of the torque of the reaction wheels and joint motors are at 1Nm; thus, it meets the physical constraint on spacequalified actuators used in most commercial spacecraft.
Figure 12 Simulation Results for PID; (a) Trajectory Plot (b) Relative position, (c) Relative attitude.
Figure 13 Simulation Results for PID; (a) joint angles, (b) Thrusters force,(c) Reaction Wheels control Toques, (d) Joint Torques.
LQR results
For the LQR controller, Figure 14 shows the actual trajectory tracking of the endeffector of the robotic arm. By comparing Figure 14 & 12a, it can be seen that the LQR controller was able to achieve excellent trajectory tracking like its PID counterpart. Moreover, the LQR controller was able to maintain a low fluctuation for the relative attitude, therefore, assuring a more stabilized motion. Moreover, it kept a slightly lower cyclic deviation on the manipulator’s 6^{th} joint as illustrated in Figure 15c. Since the deviation is less than $1\xb0$ , it can be used for more accurate operations. Going back to section 9.2.1, the LQR provided again a slightly better performance with higher stability and accuracy, however, it required more control effort (see Figure 11e), where the minimum saturation limit for operating the LQR controller was 1.5N. Moreover, the control effort generated by the reaction wheels increased by 50% with a maximum value of 1.5Nm as seen in Figure 15d & 15e. The corresponding peak torque produced by the joint motors is 1.5Nm, as shown in Figure 15f.
Figure 15 Simulation Results for LQR (a) relative position, (b) relative attitude, (c) joint angles, (d) Thrusters, (e) Reaction Wheels, (f) Joint Motors.
From the previous simulations, it is noticed that both PID and LQR controllers have a very similar performance. However, the LQR controller was able to offer a higher accuracy at the expense of about 50% more control effort, thus, higher fuel consumption. Therefore, depending on the mission requirements, PID or LQR could be chosen. Moreover, it should be noted that these tradeoff analyses were conducted at extreme (3 orders of magnitude bigger than normal) environmental perturbations and internal disturbances. The reason for selecting such extreme values is that all previous data for the microgravity environment are applicable to normal spacecraft, therefore, the controllers developed for the space robot have to be robust enough to withstand the more vicious environmental and internal perturbations due to its much more complex dynamics. Table 5 shows the execution time of each individual control block.
Space robots are crucial for future missions that involves maintenance, repair or refueling of spacecraft, or assembly operations in space. Unlike Earthbased manipulators, the base of the space robot is not fixed in the inertial frame as a result of the dynamic coupling reactions during the motion of the manipulator. Hence, in order to develop control algorithms for such systems, it is crucial to consider the dynamic coupling effects and try to compensate for it. Moreover, the challenges facing a space robot over the fixedbased manipulators are presented, indicating the different modes of controlling a space robot and the pros and cons of each approach. Furthermore, the dynamic and kinematic modelling of a multiDOF controlledfloating space robot in the closerange approach has been presented.
Control algorithms were developed where, feedforward compensation was introduced to eliminate the dynamic coupling between the basespacecraft; thus, decoupling the system into the basespacecraft and the manipulator. Moreover, this is followed by a feedforward linearization technique to linearize the nonlinear decoupled systems, thus allowing the use of the linear LQR or PID controller as the last stage of the control algorithm. Closed loop simulations for the system were conducted, subjecting the space robot to extreme sinusoidal environmental perturbations with Gaussian random white noises, as well as parametric uncertainty due to fuel expenditure. A tradeoff analysis was conducted for both controllers based on their robustness to perturbations, accuracy in trajectory tracking, fluctuations in behavior and control effort required. Results showed that the LQR controller was able to offer slightly higher trajectory tracking performance with more robustness to environmental perturbations and 30% less fluctuations in the joint angles, relative attitude and velocities; however, it required 50% more control effort. Therefore, depending on the mission requirements, the AOCS designer could choose between the slightly higher accuracy offered by the LQR controller or less fuel consumption offered by the PID controller.
As a next step, research into optimizing the path for the endeffector of the robotic arm and the basespacecraft, to minimize fuel consumption and achieve superior performance, is in progress. Additionally, other advanced concepts such as the kinematic and dynamic singularities along the path, applying realtime obstacle avoidance algorithms is also under development.
This research was facilitated by the University of Surrey, UK and the University of Lincoln, UK.
Authors declare that there is no conflict of interest.
©2020 Mohamed, et al. This is an open access article distributed under the terms of the, which permits unrestricted use, distribution, and build upon your work noncommercially.