# Guidance Navigation and Control for Autonomous Multiple Spacecraft Assembly: Analysis and Experimentation

Authors: Riccardo Bevilacqua; Marcello Romano; Fabio Curti; Andrew P. Caprari; Veronica Pellegrini
Journal: International Journal of Aerospace Engineering
 (2011)

---

## Abstract

This work introduces theoretical developments and experimental verification for Guidance, Navigation, and Control of autonomous multiple spacecraft assembly. We here address the in-plane orbital assembly case, where two translational and one rotational degrees of freedom are considered. Each spacecraft involved in the assembly is both chaser and target at the same time.  The guidance and control strategies are LQR-based, designed to take into account the evolving shape and mass properties of the assembling spacecraft. Each spacecraft runs symmetric algorithms. The relative navigation is based on augmenting the target's state vector by introducing, as extra state components, the target's control inputs. By using the proposed navigation method, a chaser spacecraft can estimate the relative position, the attitude and the control inputs of a target spacecraft, flying in its proximity. The proposed approaches are successfully validated via hardware-in-the-loop experimentation, using four autonomous three-degree-of-freedom robotic spacecraft simulators, floating on a flat floor.


---

## Body

## 1. Introduction

The technical difficulties presented by the autonomous multiple spacecraft assembly problem relate to the development of robust and reliable guidance, navigation, and control techniques for on-orbit evolving systems. The main open challenges are: (1) propellant-efficient control of an assembling (also known as evolving system), the evolution occurring both in its mass and inertia properties, as well as in its sensors and actuators configuration and (2) accurate relative navigation among the spacecraft, especially in the event of low frequency measurements update and interruptions of measurements due, for example, to relative sensors’ view’s obstruction by other spacecraft. The works of [1–4] address specifically the problem of a system’s evolution and its control. In [5], more emphasis is given to a potential solution for the wireless connectivity of different parts intended for the assembly of a bigger spacecraft, where a Wi-Fi bridge acts as the only real “assembly.” Furthermore, wireless capability is becoming a more relevant option for exchanging data amongst close proximity spacecraft which eventually dock to each other (see [6]). Also, the high-risk situation of an assembly maneuver in space does not leave room for computationally intensive logics, such as optimal controllers (see [7]). Onboard CPUs must allocate most of their performance capabilities to platform safety issues.The use of Commercial Off-The-Shelve (COTS) relative sensors, such as low-cost cameras, justify the need for robust relative navigation schemes. Many different filters for tracking a maneuvering target have been considered in the literature.Approaches based on Kalman filter include the work of Singer [8], in which the target acceleration is modeled as a random process with known exponential autocorrelation. The input estimation approach for tracking a maneuvering target is proposed by Chan and Couture [9].In this approach, the magnitude of the acceleration is identified by the least-squares estimation when a maneuver is detected. The estimated acceleration is then used in conjunction with a standard Kalman filter to compensate the state estimate of the target. The standard filter alone is used during periods when no maneuver takes place. The augmented filtering approach is proposed by Bar-Shalom et al. [10, 11]. In this approach, the state model for the target is changed by introducing extra state components, the target’s accelerations. The maneuver, modeled as an acceleration, is estimated recursively along with other states associated with position and velocity while a target maneuvers. Bogler [12] used this method as an implementation on high maneuver target tracking with maneuver detection.The input estimation filter and the augmented-dimension filter are commonly used in view of their computational efficiency and tracking performance. Among input estimation techniques, the Augmented State estimation approach yields reasonable performance without constant acceleration or small sampling time assumptions. Furthermore, it not only provides fast initial convergence rate, but it can also track a maneuvering target with fairly good accuracy as mentioned by Khaloozadeh and Karsaz [13]. Bahari et al. [14] and Bahari and Pariz [15] propose an intelligent error covariance matrix resetting, by a fuzzy logic approach, necessary for high maneuvering target tracking, to improve the estimation of the target state.In space applications, particularly in the spacecraft relative navigation for the autonomous rendezvous and assembly, each vehicle is both the target and the chaser for the other spacecraft. Here, an additional challenge is considered: the frequent loss of communications for the data exchange when the application involves more than one spacecraft. Alternatives means to perform relative navigation may include a vision-based system. These types of sensors require the image processing and may result in low frequency measurement updates, especially for small spacecraft with limited computation capabilities. Such sensors suffer of problems such as limitations on the field of view and/or other spacecraft obstructing the view. Furthermore, each vehicle does not usually know the other vehicles inputs, that is, it does not possess the information about the maneuvers performed by its fellow spacecraft. This missing information needs to be reconstructed in the estimation scheme that would otherwise diverge quickly.We here focus on the utilization of low frequency update and low-cost sensors, such as COTS devices. In particular, the spacecraft are envisioned to have range and line of sight measurements, and relative attitude measurements. The navigation algorithm here presented build upon our preliminary work of [16].In this work, we build upon known techniques in order to develop guidance, navigation, and control approaches to perform three-degree-of-freedom spacecraft assembly maneuvers. Furthermore, the suggested methodologies are validated via hardware-in-the-loop testing, using four robotics spacecraft simulators.In particular, the guidance and control problems are tackled by continuously linearizing the dynamics about the current relative state vector between two spacecraft, and employing a Linear Quadratic Regulator to suboptimize propellant consumption. The LQR weighting matrices are computed in real time, depending on the relative state vector, acting as a feedback control. The LQR real-time solver developed for this research is an extension of what used during a real on-orbit spacecraft test inside the International Space Station [17], where a simplified problem-targeted LQR was executed (a version of the LQR Simulink solver for both RTAI Linux and xPC Target is available for download) (see [18]). While the system evolves, changing its mass properties and actuators’ configuration, the LQR-based approach remains unaltered, controlling the growing structure by the simple online modification of a few parameters when a new spacecraft is docked.As for the relative navigation, we here propose a design based on the augmented state estimation technique. Robustness to frequent signal loss and/or darkening of the sensors is achieved. Furthermore, the suggested approach reconstructs the information of the other vehicles’ maneuvers. A spacecraft is envisioned to run a copy of the augmented state estimation technique algorithm for each other spacecraft in the bunch, every vehicle being chaser and target at the same time.For the experimental part of this work, two dynamic models for the relative navigation filter are considered: (1) the classical Kalman filtering technique, [19], in which the unknown input (the maneuver command) is modeled as a random process and (2) the augmented state estimation technique, where the maneuver is estimated, using a Kalman filter scheme [19], in real time, as an additional variable in an augmented state vector.Between the two approaches, the second one proves to be the most successful. It yields satisfactory performances without constant accelerations or small sampling time assumptions. Furthermore, it does not only provide fast initial convergence rate, but it can also track a maneuvering target with a good accuracy under unpredictable loss of the data link and slow data rate, allowing the spacecraft to perform critical maneuvers such as the docking and the multivehicle assembly.The successful results of the study here presented pave the way for further research and implementation of the new GNC techniques for the full six degrees of freedom spacecraft relative motion.Main contributions of this work to the state-of-the-art for multiple spacecraft assembly GNC are as follows.(1)
Development of a guidance and control approach flexible to mass and actuators’ configuration changes during the assembly. The methodology is based on a suboptimal LQR for propellant-efficient rendezvous and docking maneuvers.(2)
Implementation of a spacecraft relative navigation scheme based on augmented state estimation, robust to low frequency measurements updates. In particular, the spacecraft are envisioned to have the availability of range and line of sight measurements, and relative attitude measurements. No relative velocities measurements are available. This is the first time, to our knowledge, that augmented state vector estimation is used for spacecraft relative navigation.(3)
The first (to the best of authors’ knowledge) hardware-in-the-loop laboratory experiment involving four spacecraft simulators in a completely autonomous assembly maneuver.The paper is organized as follows. Section2 presents the robotic spacecraft simulators employed for the experiments. Section 3 presents the equations of the three-degree-of-freedom motion for the spacecraft relative maneuvering. Section 4 presents the augmented estimation approach and demonstrates the observability of the augmented state. Section 5 illustrates the guidance and control. Section 6 describes how navigation and control are performed once more spacecraft are assembled. Section 7 is dedicated to the experimental validation of the proposed methodologies. Section 8 concludes the paper.


## 2. Third Generation Spacecraft Simulators at the Spacecraft Robotics Laboratory

This section introduces the third generation of spacecraft simulators developed at the Spacecraft Robotics Laboratory of the US Naval Postgraduate School. Figure1 shows the fleet of operational spacecraft simulators. The simulators float using air bearings over a very smooth epoxy floor, reproducing a nearly frictionless and weightless environment in two dimensions and three degrees of freedom, that is, two degrees of freedom for the translation and one for the rotation. This experimental testbed allows for the partial verification of guidance, navigation, and control algorithms in a simulated in-plane close proximity flight condition [20]. For more details on the different families of spacecraft simulators employed throughout the world, we address the reader to [6, 16, 20–23].Figure 1
Multispacecraft testbed at the Spacecraft Robotics Laboratory of the Naval Postgraduate School.In order to perform docking experimentations, two separate custom designed docking interfaces have been developed and each is currently undergoing experimental testing (see Figure2).(a) Patent pending docking interface design (electromagnet and fluid transfer capability). (b) Concept (male/female) docking interface used for the experiments in this paper.
(a)
Type 1(b)
Type 2The type 1 docking interfaces are designed in order to passively connect the spacecraft through electromagnetic mechanisms, and their design will allow data/power/fluids exchange (see Figure3). Conversely, the type 2 design lacks the afore mentioned characteristics but enhances the robustness on the docking concept by correcting residual translational and rotational errors developed during the final docking phase of the spacecraft assembly for experimentation. This second design hosts two small permanent magnets to provide a final docking force and to keep the robots physically connected.Figure 3
Main components of the patent pending docking interface.Other key features of the spacecraft simulators include the following.(1)
Ad-hoc wireless communication. Continuous data exchange amongst each simulator and the external environment over the wireless network provides for in situ communication. This greatly increases the robustness of data collection in the event of communication loss with one of the simulators.(2)
Modularity. The simulators are divided into two modules where the payload can be disconnected from the consumables, thus allowing for a wide range of applications with virtually any kind of different payload (Figure4).(3)
Small footprint. The  .19 mlength×.19 m width of each simulator allows for the working area (~5m×5m) on the epoxy floor to be optimally exploited.(4)
Light weight.~10 kg.(5)
Rapid Prototyping. The capability to rapidly reproduce further generations of simulators and improve existing designs via computer aided design (CAD) with the in house STRATASYS 3D printing machine.Figure 4
Detailed collocation of the hardware on the spacecraft simulators.Most notably, point 1 of the previous list has provided an invaluable contribution to the success of our ongoing experimentation. The ad-hoc wireless communication system, currently employed onboard the simulators, was experimentally verified by a distributed computing test, which demonstrated the wireless communication real-time capability for the SRL (see [6]).Table1 illustrates the characteristics of the electronics used onboard each spacecraft simulator. The PC104 (onboard computer), the sensors, and the actuators are described below (see [6]).Table 1
Electronics hardware description.
Part’s name and manufacturerDetailsDescriptionPC104 (plus) Motherboard(Advanced Digital Logic)ProcessorRAMSmartCoreT3-400, 400 Mhz CPUSDRAM256-PSCompact Flash(SanDisk Extreme IV)—8 Gbyte capacity20 Relays Board (IR-104-PBF) (Diamond Systems)—High-density optoisolated input + relay output8 Serial Ports Board (MSMX104+)(Advanced Digital Logic)——Firewire PC104 board (Embedded Designs Plus)—IEEE1394 card with 16 Bit PC104Compact Wireless-G USB Adapter (Linksys)—54 Mbps 802.11 b/g wireless USB network interface adapterWireless Pocket Router/AP DWL-G730AP (D-Link) Solenoid Valves (Predyne)—2.4 Ghz 802.11 g, ethernet to wireless converter2 way, 24VDC, 2 WattFiber Optic Gyro DSP3000 (KVH)—Single axis rate, 100 Hz, Asynchronous, RS-232Magnetometer, MicroMag-3Axis (evaluation kit with RS232 board) (PNI)—Asynchronous, RS-232 (the evaluation kit is still a development version)DC/DC converters: EK-05 Battery Controller and Regulator + DC1U-1VR 24V DC/DC Converter(Ocean Server)—3.3, 5, 12, 24 Volts outputs. The main board is equipped with a batteries’ status controller.Battery (Inspired Energy)—Lithium Ion Rechargeable battery (95 Whr)Metris iGPS pseudo-GPS indoor system——Each robot performs absolute navigation in the laboratory environment employing indoor pseudo-GPS for position, and magnetometer and gyroscope for attitude (Table1). The measurements from these sensors are processed by two separate Linear Digital Kalman Filters, estimating position and velocity of the center of mass with respect to the laboratory reference frame, and heading and heading rate of the robot with respect to the laboratory frame. The details on the robots’ absolute navigation are beyond the scope of this work, and they will not be discussed here; for additional information, the reader can refer to [20].The maximum computational power of 400 Mhz listed in Table1 is not required for real-time recomputation of the LQR solution. In the SPHERES satellites [17], Texas Instruments C6701 Digital Signal Processor is employed to solve a very comparable problem.Figure5 depicts the main concept of the testbed at the SRL. The main components and their interfaces are illustrated onboard the robot at the bottom of the sketch. Furthermore, the figure emphasizes the fact that the configuration is scalable to an arbitrary number of robots depending on the application or mission.Figure 5
Ad-hoc wireless network at the SRL test-bed.The Wi-Fi capability of each robot is not only used to communicate with other robots, but it is also necessary for receiving its own absolute position within the laboratory, as sensed by the pseudo-GPS indoor system.The onboard real-time operating system is RTAI patched Linux (see [24]), in the Debian 2.6.19 flavor. The classical use of xPC Target by MathWorks as a real-time operating system (OS) is common in academic research (see [25]). A key advantage of xPC Target is its seamless integration between Simulink via Real-Time Workshop which allows for rapid prototyping of navigation and control algorithms for real-time requirements. Real-Time Workshop automatically generates C code from a Simulink model and the corresponding executable file for an xPC Target-based computer. On the other hand, xPC Target has some disadvantages that include support for a limited number of hardware components and no support for USB or Firewire devices. Furthermore, the inaccessibility of its source code, due to its proprietary commercial nature, makes it challenging to add or modify drivers for unsupported hardware.RTAI Linux has been successfully used as an onboard real-time OS. RTAI is a patch to the Linux kernel that allows for the execution of real-time tasks in Linux (see [26, 27]). The RTAI Linux solution is being widely exploited in several engineering areas (see [28–31]). In this work, we use RTAI Linux with a wide variety of hardware interfaces to include wireless ad-hoc radio communication using UDP, RS232 interface with the sensor suite and power system and a PC/104 relay board for actuating compressed air nozzles. RTAI Linux also allows for automatic generation of C code from Simulink models through Real-Time Workshop with the executable file for the onboard computers being created outside MATLAB by simple compilation of the C code.The details on the ad-hoc wireless network and hardware-software interfaces developed for the Spacecraft Simulators are available in [6].


## 3. S/C Relative Motion Dynamics and Problem Statement

In this section, we provide the dynamics of spacecraft relative motion in the three degrees of freedom case. The dynamics encompasses both the relative translation (two degrees of freedom) and rotation (one degree of freedom). We will refer in the following to a Local Vertical Local Horizontal (LVLH) reference frame (Figure6) that rotates with the orbital angular velocity ωLVLH. The origin of LVLH moves on a virtual orbit, conveniently chosen to remain in the vicinity of the maneuvering spacecraft. This point can also be chosen as coincident with one of the spacecraft. The x-axis points from the center of the Earth to the center of LVLH, while the y-axis is in the orbital plane in the direction of the motion along the orbit and perpendicular to the x-axis. The z-axis completes the right-handed LVLH frame.Figure 6
Local vertical local horizontal and inertial frames.The dynamics of such motion can be represented in the compact form as(1)Ẋrel=f(Xrel)+B(Xrel)u.From now on, we will consider the specific application of hardware-in-the-loop testing using the three-degree-of-freedom spacecraft simulators at the Naval Postgraduate School. For the experimental setup, the state vector becomes(2)Xrel=[xyθẋẏω]T=[xT-xCyT-yCθT-θCẋT-ẋCẏT-ẏCωzT-ωzC]Tu=[uxT-uxCuyT-uyCMT-MC]T.Beinguij,i=x,y,j=C,T the control forces components of chaser and target, and Mj,j=C,T the control torque of chaser and target about the z axis.It is common use in the literature to linearize the relative motion dynamics and use the Clohessy and Wiltshire linear equation [32](3)ẍ-2ωLVLHẏ-3ωLVLH2x=1m(uxT-uxC),ÿ-2ωLVLHẋ=1m(uyT-uyC),
with the assumption that the spacecraft have the same mass m.For maneuvers confined in the vicinity of the LVLH origin, elapsing a short time in comparison to the orbital period (3) can be further simplified into a double integrator for both  x  and y. A double integrator dynamics also represents the dynamics of the spacecraft simulators in the laboratory inertial reference frame. For the above-mentioned reasons, (4) will be used for the remaining of the paper;(4)ẍ=1m(uxT-uxC),ÿ=1m(uyT-uyC).Assuming the spacecraft having the same moment of inertia about thez axis, the attitude dynamics is also represented by a double integrator(5)θ̈=θ̈T-θ̈C=ω̇zT-ω̇zC=1Jz(MT-MC).The goal of this work is to develop a GNC approach for driving the stateXrel to perform assembly maneuvers. This requires accurate guidance, especially in the last phases of docking, optimized or suboptimized control, to minimize propellant consumption, and a robust relative navigation scheme. These requirements are addressed in the following sections.


## 4. Relative Navigation: The Augmented State Estimation Method

In this section, the theory for the three-degree-of-freedom augmented state relative navigation is presented. The controls of another vehicle (target) are treated as additional terms in the corresponding state equation, so that the model provides an augmented state vector. The measurements available on each spacecraft are relative positions (from range and line of sight) and relative attitude, and we assume the knowledge of the controls of the chaser, onboard the chaser itself. No relative velocities measurements are available. Observability proof of the vector[xyθẋẏωuxTuyTMzT]T from the measurements [xyθ]T is provided for the proposed estimation technique, demonstrating how the augmented state technique can reconstruct relative velocities and controls of the target.In the following developments, the estimated target’s controls are considered constants within every sample time interval. It is worth underlying that the control variablesuxT, uyT, and MzT do not represent the actual actuators’ control variables onboard the spacecraft simulator. The way uxT, uyT, and MzT are obtained from the target does not matter from the augmented state filter’s point of view. These control variables are estimated in order to add robustness to the filtering technique; they represent the target’s maneuvers, but not the specific way they are performed by the target’s actuation subsystem.The same assumption will be used for the observability demonstration. The navigation algorithm is developed using the Kalman filter approach.The augmented state estimation approach presents numerical efficiency comparable to the standard Kalman Filter applied on the state only. In fact, the augmented state approach introduces a few more variables in the Kalman Filter, without a significant increase on the numerical burden. Additional references with regards to the implementation of Extended Kalman Filters onboard real space missions can be found in [33, 34].


### 4.1. Relative Motion Estimation

The assumption is made of independent estimation and control for the attitude and the position, so that we can proceed as follows. For the relative position, the state vector can be written as (see (2))(6)TiCjX=TiCj[xyẋẏ]T.The discrete dynamics for the problem is the following:(7)XTiCj(k+1)=TiCjΨ(k)XTiCj(k)+BTiCj(k)(uT(k)-uC(k))+GW(k),Z(k)=HTiCjX(k)+V(k).The expressions of the matrices:G, H, TiCjB(k), and Ψ as functions of the measurement update time Ts for this planar case can be written as
(8)G=I4×4,H=(I2×202×2),BTiCj(k)=∫0Ts(TiCjΦ(t)⋅BTiCj)dt=(Ts2200Ts22Ts00Ts)/m,TiCjΨ(k)=TiCjΦ(Ts)=eTiCjFTS=I4×4+FTSTiCj=(10TS0010TS00100001),being(9)FTiCj=(0010000100000000),BTiCj=(02×2I2×2)/m.The augmented dynamics adds the estimation ofuxT and uyT, assuming knowledge of the chaser’s controls uxC and uyC. The related state equation matrices can be written as(10)XATiCj=[XTiCj(K+1)uT(K+1)]=TiCjΨA(k)[XTiCj(K)uT(K)]+GAW(k)+BCTiCj(k)uC(k),ZA(K)=HA[XTiCj(K)uT(K)]+V(K),GA=(G02×4),HA=(I2×202×4),uC=[uCxuCy],TiCjΨA(k)=(TiCjΨ(k)BTiCj(k)02×4I2×2)=(10Ts0Ts22m0010Ts0Ts22m0010Tsm000000Tsm000010000001),BCTiCj(k)=(-BTiCj(k)02×2)=(-Ts2200-Ts22-Ts00-Ts0000)/m.


### 4.2. Relative Attitude Estimation

The same algorithm is implemented for target’s attitude and control torque estimation. Assuming the target rotating only about the vertical axis (z-axis), the ith Target attitude state vector, with respect to the jth Chaser spacecraft, is chosen to be(11)TiCjΘ=[θθ̇]TTiCj.The discrete dynamics for the attitude problem is(12)TiCjΘ(k+1)=TiCjΨ(k)TiCjΘ(k)+BTiCj(k)(MT(k)-MC(k))+GW(k),Z(k)=HTiCjΘ(k)+V(k),
and the principal dynamics matrices, as function of the time sampling Ts, are(13)G=I2×2,H=(10),BTiCj(k)=∫0Ts(TiCjΦ(t)⋅TiCjB)dt=(Ts22JzTsJz),TiCjΨ(k)=TiCjΦ(Ts)=eTiCjFTs=I2×2+FTsTiCj=(1Ts01),being(14)TiCjF=(0100),TiCjB=(01)/Jz.The formulation of the augmentation of the state dynamics adds the estimation ofMT, assuming the knowledge of the chaser’s control torque MC. The related state equation matrices can be written as(15)TiCjΘA(k)=[TiCjΘ(k+1)MT(k+1)]=TiCjΨA(k)[TiCjΘ(k)MT(k)]+BCTiCj(k)Mc+GAW(k),ZA(k)=HA[TiCjΘ(k)MT(k)]+V(k),GA=(G02×2),HA=(100),Mc=[Mz],TiCjBC(k)=(-TiCjB(k)0)=(-Ts22-Ts0)/Jz,TiCjΨA(k)=(TiCjΨ(k)TiCjB(k)01×21)=(1TsTs22Jz01Ts2Jz001).


### 4.3. Observability of the Augmented Dynamics

For sake of simplicity, considering that the controls are constant in each sample time, we provide, for the planar case, the proof of the observability for the continuous models of the relative dynamics. The observability property holds for the discrete models [35]. The augmented relative motion dynamics can be expressed as(16)[ẋẏẍÿu̇xTu̇yT]=[00100000010000001m0000001m000000000000][xyẋẏuxTuyT]+[0000-1m00-1m0000][uxCuxC].(A)(B)The measurements are related to the state as follows:(17)Z=[100000010000](C)[xyẋẏuxTuyT].It is of immediate demonstration that the following observability matrix has full rank:(18)O=[CCA..CA5]=[10000001000000100000010000001m0000001m000000000000000000000000000000000000].Similar developments lead to observability for the relative attitude motion. The dynamics can be expressed as(19)[θ̇θ̈ṀzT]=[010001Jz000][θθ̇MzT]+[0-1Jz0]MzC.(A)(B)The measurements are related to the state as follows:(20)Z=[100](C)[θθ̇MzT].The observability matrix is as following:(21)O=[CCACA2]=[100010001Jz],
that has full rank.


## 4.1. Relative Motion Estimation

The assumption is made of independent estimation and control for the attitude and the position, so that we can proceed as follows. For the relative position, the state vector can be written as (see (2))(6)TiCjX=TiCj[xyẋẏ]T.The discrete dynamics for the problem is the following:(7)XTiCj(k+1)=TiCjΨ(k)XTiCj(k)+BTiCj(k)(uT(k)-uC(k))+GW(k),Z(k)=HTiCjX(k)+V(k).The expressions of the matrices:G, H, TiCjB(k), and Ψ as functions of the measurement update time Ts for this planar case can be written as
(8)G=I4×4,H=(I2×202×2),BTiCj(k)=∫0Ts(TiCjΦ(t)⋅BTiCj)dt=(Ts2200Ts22Ts00Ts)/m,TiCjΨ(k)=TiCjΦ(Ts)=eTiCjFTS=I4×4+FTSTiCj=(10TS0010TS00100001),being(9)FTiCj=(0010000100000000),BTiCj=(02×2I2×2)/m.The augmented dynamics adds the estimation ofuxT and uyT, assuming knowledge of the chaser’s controls uxC and uyC. The related state equation matrices can be written as(10)XATiCj=[XTiCj(K+1)uT(K+1)]=TiCjΨA(k)[XTiCj(K)uT(K)]+GAW(k)+BCTiCj(k)uC(k),ZA(K)=HA[XTiCj(K)uT(K)]+V(K),GA=(G02×4),HA=(I2×202×4),uC=[uCxuCy],TiCjΨA(k)=(TiCjΨ(k)BTiCj(k)02×4I2×2)=(10Ts0Ts22m0010Ts0Ts22m0010Tsm000000Tsm000010000001),BCTiCj(k)=(-BTiCj(k)02×2)=(-Ts2200-Ts22-Ts00-Ts0000)/m.


## 4.2. Relative Attitude Estimation

The same algorithm is implemented for target’s attitude and control torque estimation. Assuming the target rotating only about the vertical axis (z-axis), the ith Target attitude state vector, with respect to the jth Chaser spacecraft, is chosen to be(11)TiCjΘ=[θθ̇]TTiCj.The discrete dynamics for the attitude problem is(12)TiCjΘ(k+1)=TiCjΨ(k)TiCjΘ(k)+BTiCj(k)(MT(k)-MC(k))+GW(k),Z(k)=HTiCjΘ(k)+V(k),
and the principal dynamics matrices, as function of the time sampling Ts, are(13)G=I2×2,H=(10),BTiCj(k)=∫0Ts(TiCjΦ(t)⋅TiCjB)dt=(Ts22JzTsJz),TiCjΨ(k)=TiCjΦ(Ts)=eTiCjFTs=I2×2+FTsTiCj=(1Ts01),being(14)TiCjF=(0100),TiCjB=(01)/Jz.The formulation of the augmentation of the state dynamics adds the estimation ofMT, assuming the knowledge of the chaser’s control torque MC. The related state equation matrices can be written as(15)TiCjΘA(k)=[TiCjΘ(k+1)MT(k+1)]=TiCjΨA(k)[TiCjΘ(k)MT(k)]+BCTiCj(k)Mc+GAW(k),ZA(k)=HA[TiCjΘ(k)MT(k)]+V(k),GA=(G02×2),HA=(100),Mc=[Mz],TiCjBC(k)=(-TiCjB(k)0)=(-Ts22-Ts0)/Jz,TiCjΨA(k)=(TiCjΨ(k)TiCjB(k)01×21)=(1TsTs22Jz01Ts2Jz001).


## 4.3. Observability of the Augmented Dynamics

For sake of simplicity, considering that the controls are constant in each sample time, we provide, for the planar case, the proof of the observability for the continuous models of the relative dynamics. The observability property holds for the discrete models [35]. The augmented relative motion dynamics can be expressed as(16)[ẋẏẍÿu̇xTu̇yT]=[00100000010000001m0000001m000000000000][xyẋẏuxTuyT]+[0000-1m00-1m0000][uxCuxC].(A)(B)The measurements are related to the state as follows:(17)Z=[100000010000](C)[xyẋẏuxTuyT].It is of immediate demonstration that the following observability matrix has full rank:(18)O=[CCA..CA5]=[10000001000000100000010000001m0000001m000000000000000000000000000000000000].Similar developments lead to observability for the relative attitude motion. The dynamics can be expressed as(19)[θ̇θ̈ṀzT]=[010001Jz000][θθ̇MzT]+[0-1Jz0]MzC.(A)(B)The measurements are related to the state as follows:(20)Z=[100](C)[θθ̇MzT].The observability matrix is as following:(21)O=[CCACA2]=[100010001Jz],
that has full rank.


## 5. Guidance and Control for the Assembly Maneuver

This section describes guidance and control for the autonomous assembly.


### 5.1. Guidance

Figure7 shows the principal vectors used by the guidance algorithm. It is worth to underline that Figure 7 only represents one possible configuration and that the docking ports do not have to be aligned with any particular body axis. rgoal is the vector originating from the center of a docking interface, terminating at the center of mass of the other spacecraft going to dock to it. rrsw is the vector originating from a spacecraft’s center of mass, terminating at the other spacecraft’s center of mass.Figure 7
Relative vectors used in the alignment and assembly logic. All vectors are in the LVLHxy plane.The guidance problem is here expressed in terms of desired state vector for each spacecraft, defined dynamically during the maneuver. The state vector error to minimize is(22)xerr=[x-xdesy-ydesθ-θdesẋ-ẋdes⁡ẏ-ẏdesω-ωdes]T.The subscript “des” indicates a desired relative state vector component. The desired state is dynamically changed throughout the assembly maneuver according to the following two-phase guidance logic.The center of mass trajectory is unconstrained, free to be optimized, unless in the vicinity of the docking phase. As for the attitude, we reproduce a realistic condition in which the spacecraft has to show one particular side (usually the one with the docking port) towards the current target spacecraft. In other words, the docking port side is commanded to be perpendicular to either therrsw or the rgoal vector (Figure 7), depending on the phase. Each spacecraft in Figure 7 can be considered either a single agent or an already assembled structure; the following, description applies to both scenarios. In the following the vectors are always intended to be parallel to the xy plane. rdock is a user defined distance threshold, specifying when the docking phase begins.(1)|rrsw|>rdock, RENDEZVOUS: the spacecraft is at a far away distance from its target docking port. The state vector error is xerr=[rgoalxrgoalyθ-θdesẋẏω]T. The desired attitude θdes is such to align rport to rrsw (Figures 7 and 8).Figure 8
Body fixed docking port vector.(2)|rrsw|≤rdock, DOCKING APPROACH: the spacecraft is close to its target docking port. The desired state vector to minimize is: (a)
Ifcos-1((rgoal·rport)/|rgoal||rport|)<α, that is, the spacecraft is within the security docking cone, there are two subcases
SUBCASE 1. The distance between the spacecraft is greater than the chosen impingement stand-off range, thenxerr=[rgoalxrgoalyθ-θdesẋẏω]T. The desired attitude ϑdes is such to align rport to rrsw (Figures 7 and 8).SUBCASE 2. The distance between the spacecraft is less than the chosen impingement stand-off range, then any thrusters causing plume impingement on the other spacecraft are shut off, and only used if an emergency brake is needed, in the event of docking occurring at high velocity (above a chosen threshold). For the NPS spacecraft simulators, this will mean shutting off two thrusters, as it will be clear later on. The remaining actuators will compensate for attitude alignment in the last phase of docking and will provide required forces to push the spacecraft together.(b)
Ifcos-1((rgoal·rport)/|rgoal||rport|)≥α, that is, the spacecraft is outside the security docking cone. In this case, referring to spacecraft 2 of Figure 7, the vehicle maneuvers orbiting around the one hosting its target docking port, moving along the direction perpendicular to the rrsw vector, towards the way that is the shortest in order to reach the safety corridor. The amount of commanded rotation at each time step, around the target docking port, is a chosen parameter β=const. In terms of state vector error to minimize, defining a reference frame which has as a basis the unit vectors r̂rsw⊥,r̂rsw, the rrsw can be rotated of an angle β into rrot and easily expressed as function of the basis rrot=|rrsw|(cosβr̂rsw+sinβr̂rsw⊥). The state error to minimize is xerr=[rrotx-rgoalxrroty-rgoalxθ-θdesẋẏω]T. The desired attitude θdes is such to show the chosen side to the target docking spacecraft, that is, ⊥rgoal (Figure 7). In simple terms, the satellites circle around each other, in the direction of shortest angular displacement, to allow the docking interfaces to be in the mutual fields of view. Each spacecraft needs to be in the safety corridor one of the other, with the respective docking interfaces’ rport vectors and rgoal vectors aligned. The respective rport vectors of two satellites will need to be at 180 degrees (plus-minus the tolerance); the same applies, as a consequence, to the rgoal vectors.


### 5.2. LQR Control

The LQR problem (23) is solved at each time step, with dynamically sized weighting matrices Q and R, adapting to the current situation, avoiding high control values when the state vector error is relevant, and vice versa. This choice results in a smoother behavior, in terms of requested control actions, with respect to classical fixed gain matrices LQR;(23)J=∫0∞(xerrTQxerr+uTRu)dt.The cost function in  (23) aims to minimize control effort, while reducing the relative state vector between two satellites. The mutual relevance between state vector error and control effort is dictated by the relative values of the weighting matrices Q and R.The control vectoru is chosen as a four-component vector of forces, expressed in the spacecraft body frame (Figure 9). The choice of u in the spacecraft body frame, removes the need for thruster mapping [22].Figure 9
Locations of controls for the planar assembly.For the phases described in the previous section the weighting matrices for the LQR are chosen as(24)Q=[1|rgoal|⋅I30303|rgoal|3⋅V⋅I3],R=|rgoal|a2I4.Each time step solution of the LQR generates a gain matrixKLQR, used to implement the required suboptimal control vector(25)uLQR=-KLQR⋅xerr.The values of the constantsa=3.05·10-2and V=0.06are chosen as in [23]. In particular, their values are chosen looking at variables with physical meaning, but we do not assign dimensions to them here, being their dimensions the appropriate ones for consistency in the cost function (23). The a constant weighs the terms in the matrix R with respect to the maximum translational acceleration achievable on the spacecraft simulator. This value is computed considering two thrusters simultaneously activated on the same side of the vehicle. The thrust values and mass of the simulator can be found in Table 2, and the interested reader can find more details on the thrusters in [36]. The originating idea for scaling the R matrix as in  (24) is the desire to maintain the controls required by the LQR solution below the maximum hardware-achievable controls. With regard to the constant V in the Q matrix, it is set to be the maximum translation speed allowed for the simulator. V weighs the part of the state vector which is related to linear velocities. The choice to introduce the above mentioned parameters does not a priori guarantee controls below the maximum onboard control authority and a limited translational velocity, but the scaling in (24) has been proven very effective in mitigating high requests on the control and undesired fast maneuvers on the testbed. This result was previously found in numerical simulations, and then experimentally verified [23].Table 2
Main simulation parameters.
Mass of each simulator10,5kgInertia of simulator0.063kg m2Inertia of the two simulators assembled0.18kg m2Single thruster estimated force [36]0.16NDocking cone semiaperture0.75degreesForce arms (for torque generation)5, 10, 21cmLimit distance for switching off the thrusters0.7miGPS accuracy1mmGyroscope accuracy0.003deg/secThrusters minimum actuation time1.5·10-3secFigure10 shows the required inputs to the LQR solver, implemented in Simulink.Figure 10
LQR Solver Simulink Block [18]. This routine solves the complete algebraic Riccati equation accepting the input matrices: A (dynamics matrix), B (control matrix), C (state-output mapping matrix), D (control-output mapping matrix), and Q and R weighting matrices. The outputs are the LQR gain matrix, K, which is the solution to the associated algebraic Riccati equation, the matrix S, and a two-dimensional vector, E, whose first element indicates an error when it is greater than zero or a somewhat unreliable result when it is negative. The second element of E is the condition number of the R matrix.The LQR solver employed for developing the proposed approach was downloaded from [18], adapted for automatic generation of code through Real-Time-Workshop for RTAI Linux (it was originally only compatible with Windows Operating Systems), and uploaded again on the MathWorks file exchange website [18].In specializing the design of Figure9 to the SRL spacecraft simulators, we treat the eight body fixed thrusters in couples, so that symmetric thrusters are reduced to one control variable, which can be either umax,-umax,0. Figure 11 shows the thruster couplings: 1–4, 2–7, 3–6, and 5–8. The control vector is u=[u1u2u3u4]T. The red arrows along the couples in Figure 11 show the positive directions assumed for the controls. Ultimately, thrusters coupling allows the LQR to solve a reduced problem in which the control vector has four components instead of eight.Figure 11
Thruster coupling on the spacecraft simulators.Given the choice for the control vector, the control distribution matrix becomes nonlinear, as in  (25). Equation (25) also shows the system dynamics matrices, when the expression Ẋ=AX+BU,Y=CX+DU is used. The spacecraft orientation θC is replaced with θ for simplicity(26)A=(000100000010000001000000000000000000),B=(000000000000cos⁡(θ)mcos⁡(θ)m-sin(θ)m-sin(θ)msin(θ)msin(θ)mcos⁡(θ)mcos⁡(θ)m-rJzrJzrJz-rJz),C=I6×6,D=06×4.In order to employ the LQR approach, the control distribution matrix is linearized at each time step, in the vicinity of the desired attitude.(27)BLIN=(000000000000cos⁡(θdes)-sin(θdes)(θ-θdes)mcos⁡(ϑdes⁡)-sin(θdes)(θ-θdes)m-sin(ϑdes)+(cos⁡(θdes))(θ-θdes)m-sin(θdes⁡)+(cos⁡(θdes))(θ-θdes)msin(θdes)+(cos⁡(θdes))(θ-θdes)msin(θdes)+(cos⁡(θdes))(θ-θdes)mcos⁡(ϑdes)-sin(θdes)(θ-θdes)mcos⁡(θdes)-sin(θdes)(θ-θdes)m-rJzrJzrJz-rJz)By inserting the matrices defined in  (26) and (27) and the weighting matrices described in  (24) into the LQR solver of Figure 10, the optimal four components vector of forces is obtained, at each time step during the maneuver. The obtained control vector will be a continuous signal. In order to drive the on/off thrusters from the continuous signal Pulse Width Modulation is used; the PWM collects commanded controls over 10 sample times before actuating. Furthermore, a Schmitt Trigger is implemented, to filter out low commanded controls and reduce the amount of chattering.


## 5.1. Guidance

Figure7 shows the principal vectors used by the guidance algorithm. It is worth to underline that Figure 7 only represents one possible configuration and that the docking ports do not have to be aligned with any particular body axis. rgoal is the vector originating from the center of a docking interface, terminating at the center of mass of the other spacecraft going to dock to it. rrsw is the vector originating from a spacecraft’s center of mass, terminating at the other spacecraft’s center of mass.Figure 7
Relative vectors used in the alignment and assembly logic. All vectors are in the LVLHxy plane.The guidance problem is here expressed in terms of desired state vector for each spacecraft, defined dynamically during the maneuver. The state vector error to minimize is(22)xerr=[x-xdesy-ydesθ-θdesẋ-ẋdes⁡ẏ-ẏdesω-ωdes]T.The subscript “des” indicates a desired relative state vector component. The desired state is dynamically changed throughout the assembly maneuver according to the following two-phase guidance logic.The center of mass trajectory is unconstrained, free to be optimized, unless in the vicinity of the docking phase. As for the attitude, we reproduce a realistic condition in which the spacecraft has to show one particular side (usually the one with the docking port) towards the current target spacecraft. In other words, the docking port side is commanded to be perpendicular to either therrsw or the rgoal vector (Figure 7), depending on the phase. Each spacecraft in Figure 7 can be considered either a single agent or an already assembled structure; the following, description applies to both scenarios. In the following the vectors are always intended to be parallel to the xy plane. rdock is a user defined distance threshold, specifying when the docking phase begins.(1)|rrsw|>rdock, RENDEZVOUS: the spacecraft is at a far away distance from its target docking port. The state vector error is xerr=[rgoalxrgoalyθ-θdesẋẏω]T. The desired attitude θdes is such to align rport to rrsw (Figures 7 and 8).Figure 8
Body fixed docking port vector.(2)|rrsw|≤rdock, DOCKING APPROACH: the spacecraft is close to its target docking port. The desired state vector to minimize is: (a)
Ifcos-1((rgoal·rport)/|rgoal||rport|)<α, that is, the spacecraft is within the security docking cone, there are two subcases
SUBCASE 1. The distance between the spacecraft is greater than the chosen impingement stand-off range, thenxerr=[rgoalxrgoalyθ-θdesẋẏω]T. The desired attitude ϑdes is such to align rport to rrsw (Figures 7 and 8).SUBCASE 2. The distance between the spacecraft is less than the chosen impingement stand-off range, then any thrusters causing plume impingement on the other spacecraft are shut off, and only used if an emergency brake is needed, in the event of docking occurring at high velocity (above a chosen threshold). For the NPS spacecraft simulators, this will mean shutting off two thrusters, as it will be clear later on. The remaining actuators will compensate for attitude alignment in the last phase of docking and will provide required forces to push the spacecraft together.(b)
Ifcos-1((rgoal·rport)/|rgoal||rport|)≥α, that is, the spacecraft is outside the security docking cone. In this case, referring to spacecraft 2 of Figure 7, the vehicle maneuvers orbiting around the one hosting its target docking port, moving along the direction perpendicular to the rrsw vector, towards the way that is the shortest in order to reach the safety corridor. The amount of commanded rotation at each time step, around the target docking port, is a chosen parameter β=const. In terms of state vector error to minimize, defining a reference frame which has as a basis the unit vectors r̂rsw⊥,r̂rsw, the rrsw can be rotated of an angle β into rrot and easily expressed as function of the basis rrot=|rrsw|(cosβr̂rsw+sinβr̂rsw⊥). The state error to minimize is xerr=[rrotx-rgoalxrroty-rgoalxθ-θdesẋẏω]T. The desired attitude θdes is such to show the chosen side to the target docking spacecraft, that is, ⊥rgoal (Figure 7). In simple terms, the satellites circle around each other, in the direction of shortest angular displacement, to allow the docking interfaces to be in the mutual fields of view. Each spacecraft needs to be in the safety corridor one of the other, with the respective docking interfaces’ rport vectors and rgoal vectors aligned. The respective rport vectors of two satellites will need to be at 180 degrees (plus-minus the tolerance); the same applies, as a consequence, to the rgoal vectors.


## 5.2. LQR Control

The LQR problem (23) is solved at each time step, with dynamically sized weighting matrices Q and R, adapting to the current situation, avoiding high control values when the state vector error is relevant, and vice versa. This choice results in a smoother behavior, in terms of requested control actions, with respect to classical fixed gain matrices LQR;(23)J=∫0∞(xerrTQxerr+uTRu)dt.The cost function in  (23) aims to minimize control effort, while reducing the relative state vector between two satellites. The mutual relevance between state vector error and control effort is dictated by the relative values of the weighting matrices Q and R.The control vectoru is chosen as a four-component vector of forces, expressed in the spacecraft body frame (Figure 9). The choice of u in the spacecraft body frame, removes the need for thruster mapping [22].Figure 9
Locations of controls for the planar assembly.For the phases described in the previous section the weighting matrices for the LQR are chosen as(24)Q=[1|rgoal|⋅I30303|rgoal|3⋅V⋅I3],R=|rgoal|a2I4.Each time step solution of the LQR generates a gain matrixKLQR, used to implement the required suboptimal control vector(25)uLQR=-KLQR⋅xerr.The values of the constantsa=3.05·10-2and V=0.06are chosen as in [23]. In particular, their values are chosen looking at variables with physical meaning, but we do not assign dimensions to them here, being their dimensions the appropriate ones for consistency in the cost function (23). The a constant weighs the terms in the matrix R with respect to the maximum translational acceleration achievable on the spacecraft simulator. This value is computed considering two thrusters simultaneously activated on the same side of the vehicle. The thrust values and mass of the simulator can be found in Table 2, and the interested reader can find more details on the thrusters in [36]. The originating idea for scaling the R matrix as in  (24) is the desire to maintain the controls required by the LQR solution below the maximum hardware-achievable controls. With regard to the constant V in the Q matrix, it is set to be the maximum translation speed allowed for the simulator. V weighs the part of the state vector which is related to linear velocities. The choice to introduce the above mentioned parameters does not a priori guarantee controls below the maximum onboard control authority and a limited translational velocity, but the scaling in (24) has been proven very effective in mitigating high requests on the control and undesired fast maneuvers on the testbed. This result was previously found in numerical simulations, and then experimentally verified [23].Table 2
Main simulation parameters.
Mass of each simulator10,5kgInertia of simulator0.063kg m2Inertia of the two simulators assembled0.18kg m2Single thruster estimated force [36]0.16NDocking cone semiaperture0.75degreesForce arms (for torque generation)5, 10, 21cmLimit distance for switching off the thrusters0.7miGPS accuracy1mmGyroscope accuracy0.003deg/secThrusters minimum actuation time1.5·10-3secFigure10 shows the required inputs to the LQR solver, implemented in Simulink.Figure 10
LQR Solver Simulink Block [18]. This routine solves the complete algebraic Riccati equation accepting the input matrices: A (dynamics matrix), B (control matrix), C (state-output mapping matrix), D (control-output mapping matrix), and Q and R weighting matrices. The outputs are the LQR gain matrix, K, which is the solution to the associated algebraic Riccati equation, the matrix S, and a two-dimensional vector, E, whose first element indicates an error when it is greater than zero or a somewhat unreliable result when it is negative. The second element of E is the condition number of the R matrix.The LQR solver employed for developing the proposed approach was downloaded from [18], adapted for automatic generation of code through Real-Time-Workshop for RTAI Linux (it was originally only compatible with Windows Operating Systems), and uploaded again on the MathWorks file exchange website [18].In specializing the design of Figure9 to the SRL spacecraft simulators, we treat the eight body fixed thrusters in couples, so that symmetric thrusters are reduced to one control variable, which can be either umax,-umax,0. Figure 11 shows the thruster couplings: 1–4, 2–7, 3–6, and 5–8. The control vector is u=[u1u2u3u4]T. The red arrows along the couples in Figure 11 show the positive directions assumed for the controls. Ultimately, thrusters coupling allows the LQR to solve a reduced problem in which the control vector has four components instead of eight.Figure 11
Thruster coupling on the spacecraft simulators.Given the choice for the control vector, the control distribution matrix becomes nonlinear, as in  (25). Equation (25) also shows the system dynamics matrices, when the expression Ẋ=AX+BU,Y=CX+DU is used. The spacecraft orientation θC is replaced with θ for simplicity(26)A=(000100000010000001000000000000000000),B=(000000000000cos⁡(θ)mcos⁡(θ)m-sin(θ)m-sin(θ)msin(θ)msin(θ)mcos⁡(θ)mcos⁡(θ)m-rJzrJzrJz-rJz),C=I6×6,D=06×4.In order to employ the LQR approach, the control distribution matrix is linearized at each time step, in the vicinity of the desired attitude.(27)BLIN=(000000000000cos⁡(θdes)-sin(θdes)(θ-θdes)mcos⁡(ϑdes⁡)-sin(θdes)(θ-θdes)m-sin(ϑdes)+(cos⁡(θdes))(θ-θdes)m-sin(θdes⁡)+(cos⁡(θdes))(θ-θdes)msin(θdes)+(cos⁡(θdes))(θ-θdes)msin(θdes)+(cos⁡(θdes))(θ-θdes)mcos⁡(ϑdes)-sin(θdes)(θ-θdes)mcos⁡(θdes)-sin(θdes)(θ-θdes)m-rJzrJzrJz-rJz)By inserting the matrices defined in  (26) and (27) and the weighting matrices described in  (24) into the LQR solver of Figure 10, the optimal four components vector of forces is obtained, at each time step during the maneuver. The obtained control vector will be a continuous signal. In order to drive the on/off thrusters from the continuous signal Pulse Width Modulation is used; the PWM collects commanded controls over 10 sample times before actuating. Furthermore, a Schmitt Trigger is implemented, to filter out low commanded controls and reduce the amount of chattering.


## 6. Navigation and Control of the Assembled Structure

Once the S/Cs are assembled, the mass and inertia properties along with the thrusters configuration change. Figure12 shows an example, applied to the SRL testbed, in which thrusters six and seven of both spacecraft cannot be used anymore. The assembled new spacecraft has doubled mass, different moment of inertia and four more thrusters, differently allocated with respect to the single spacecraft. In assembled configuration, one of the robots acts as master and performs both navigation and control of the new bigger robot. In order to keep using the same logic employed for controlling a single simulator, the twelve thrusters of the new assembled spacecraft are associated according to the following sets:(1)
u1 is generated by firing either thruster 8 (u1<0) or 3 (u1>0),(2)
u2 is generated by firing either thruster 9 (u2<0) or 2 (u2>0),(3)
u3 is generated by firing either thrusters 6 and 7 synchronously (u3<0) or 11 and 10 synchronously (u3>0),(4)
u4 is generated by firing either thrusters 4 and 5 synchronously (u4<0) or 1 and 12 synchronously (u4>0).Figure 12
Assembled configurations with reallocated thruster coupling and COM shift.The input matrices to the LQR solver will be changed once an additional portion of the structure is connected. Also, the new control vector will have maximum and minimum values reduced, due to the increase of mass. For instance, the case represented in Figure12 leads to the new matrices
(28)A=(000100000010000001000000000000000000),B=(000000000000cos⁡(θ)mcombcos⁡(θ)mcomb-sin(θ)mcomb-sin(θ)mcombsin(θ)mcombsin(θ)mcombcos⁡(θ)mcombcos⁡(θ)mcomb-rJz_combrJz_combro+riJz_comb-(ro+ri)Jz_comb),C=I6×6,D=06×4,whereJz_comb is the inertia of the assembled system about the vertical axis and mcomb is the new mass. Linearization of the new control distribution matrix leads to(29)BLIN=(000000000000cos⁡(θdes)-sin(θdes)(θ-θdes)mcombcos⁡(θdes)-sin(θdes)(θ-θdes)mcomb-sin(θdes)+cos⁡(θdes)(θ-θdes)mcomb-sin(θdes)+cos⁡(θdes)(θ-θdes)mcombsin(θdes)+cos⁡(θdes)(θ-θdes)mcombsin(θdes)+cos⁡(θdes)(θ-θdes)mcombcos⁡(θdes)-sin(ϑdes)(θ-θdes)mcombcos⁡(θdes)-sin(θdes)(θ-θdes)mcomb-rJz_combrJz_combro+riJz_comb-(ro+ri)Jz_comb)The thrusters remained available after docking will be commanded by either spacecraft one or two, thanks to the real-time wireless link (see [6]). Navigation for the assembled structure is performed onboard the robot acting as the master. For the two-robot configuration in Figure 12, it follows the rigid body equations, being the attitude and attitude rate of the new spacecraft the same of the master, and its center of mass position and velocity deducted by those of the master (see also Figure 12).


## 7. Experimental Results: Four Spacecraft Simulators Assembly

In this section, assembly maneuvers are employed to experimentally test the suggested guidance, navigation, and control schemes. For our experiment, we do not implement any collision avoidance algorithm, which has been, however, previously successfully tested [23]. At the time of writing this paper, the simulators do not have hardware dedicated to relative measurements. Relative measurements are assumed to be the range, line of sight, and relative attitude. This information is obtained via software, by having the robots exchanging data over the ad-hoc wireless channel [6]. This feature has the benefit of flexibility in imposing the desired frequency of measurement update, by simple modification of the software. Furthermore, for the following experiments, we do not assume any particular noise or bias characteristics for the measurements, that is, the filter does not have that information. Noise is present, and it comes from the wireless communication. This assumption does not conflict with the previously stated contribution of our work in designing an estimation technique more robust than standard Kalman Filtering in the presence of low frequency updates, as demonstrated in the following.Two experimental runs are presented. The first one demonstrates the unsuccessful relative navigation when classical Kalman Filtering is employed, considering the other S/C’s maneuvers as a random process. Only two simulators are involved. The second experiment involves the four vehicles, showing how augmented state estimation can handle low measurement updates and unpredictable interruptions of updates, and still perform correct relative navigation, driving the mission to success. In particular, we are here imposing, via the wireless network, an update of 2 seconds. Once the two couples of robots are docked, each of the assembled structure is considered to be a new vehicle with new mass and geometry. For this reason, the augmented state estimator is reinitialized for the new structure with different mass and inertia as in Table2. For this part of the experimentation, the software is running only onboard the master S/C, that is, one pre-chosen unit for each couple.The time step, or simulation sampling time, was chosen to be: (1) higher than the thrusters minimum actuation time (Tables3 and 4), (2) in compatibility with CPU computational power, and (3) so to maintain the dynamics within the linearity range. The choice was also justified by previous experience with the employed hardware and by prior computer numerical simulations. In fact, the experimental activities at the Spacecraft Robotics Laboratory are always anticipated by high fidelity numerical simulations of the test-bed dynamics in Simulink, by visualizing on the computer how the experiment will develop. This prototyping approach reduces the time-to-market and trouble-shooting costs of newly developed GNC methodologies, by significantly cutting down the need for intermediate hardware prototypes and the number of experimental tests.Table 3
Position, augmented state filter parameters.
Q̅(1×10-6)·I6×6Process covariance matrix, for the adapted augmented state filterR̅(1×10-4)·I2×2Measurements covariance matrix, for the adapted augmented state filterPoRk·I6×6Initial covariance matrix, for the adapted augmented state filterTs0.02 secSimulation sampling timeTable 4
Attitude, augmented state filter parameters.
Q̅(1×10-12)·I3×3Process covariance matrix, for the adapted augmented state filterR̅(1×10-2)Measurements covariance matrix, for the adapted augmented state filterPoRk·I3×3Initial covariance matrix, for the adapted augmented state filterTs0.02 secSimulation sampling time


### 7.1. The Classical Kalman Filter Technique

Figure13 is the bird’s eye view of the experiment, demonstrating the unfeasibility of classical Kalman filter for spacecraft relative navigation, when relative measurements updates occur at low frequency. Two spacecraft simulators start maneuvering, with the goal of docking, from a short distance. The sides opposite to the bolded lines are the designated docking sides. After approximately 1 minute of maneuver, the accumulated error in relative state vector (position) exceeds the tolerance of the docking interfaces (Figure 2), driving the vehicles into a failed docking maneuver. A video of the experiment can be found online at [37].Figure 13
Experimental Result: bird’s eye view for two spacecraft simulator failed assembly maneuver. The relative navigation is performed via classical Kalman Filtering, no Augmented State Estimation. The bolded lines are employed to help visualize the simulator’s orientation.


### 7.2. The Augmented State Estimation Technique

Figure14 is the bird’s eye view of the experiment, demonstrating the feasibility of the augmented state estimation for spacecraft relative navigation. The main data for the filters are presented in Tables 3 and 4. Four spacecraft simulators start maneuvering, with the goal of assembling into a line-shaped structure, from short distances. The sides opposite to the bolded lines are the designated docking sides. After less than 3 minutes of maneuver, the four vehicles successfully complete the given mission. The rectangular black and blue vehicles represent two spacecraft simulators docked and maneuvering as a single bigger unit. A video of the experiment can be found online at [38].Figure 14
Experimental Result: bird’s eye view for four spacecraft simulator assembly maneuver. The relative navigation is performed via augmented state estimation. The bolded lines are employed to help visualize the simulator’s orientation.Once the simulators are assembled in couples, they maneuver as a single bigger unit. In particular, the augmented state estimation is reinitialized in order to switch to a new target vehicle in terms of relative navigation. In Figure14, for the left couple, the cyan-represented unit acts as master of the new assembled cyan-red spacecraft. Likewise, for the right couple, the green vehicle is the master in the green-magenta assembly.


## 7.1. The Classical Kalman Filter Technique

Figure13 is the bird’s eye view of the experiment, demonstrating the unfeasibility of classical Kalman filter for spacecraft relative navigation, when relative measurements updates occur at low frequency. Two spacecraft simulators start maneuvering, with the goal of docking, from a short distance. The sides opposite to the bolded lines are the designated docking sides. After approximately 1 minute of maneuver, the accumulated error in relative state vector (position) exceeds the tolerance of the docking interfaces (Figure 2), driving the vehicles into a failed docking maneuver. A video of the experiment can be found online at [37].Figure 13
Experimental Result: bird’s eye view for two spacecraft simulator failed assembly maneuver. The relative navigation is performed via classical Kalman Filtering, no Augmented State Estimation. The bolded lines are employed to help visualize the simulator’s orientation.


## 7.2. The Augmented State Estimation Technique

Figure14 is the bird’s eye view of the experiment, demonstrating the feasibility of the augmented state estimation for spacecraft relative navigation. The main data for the filters are presented in Tables 3 and 4. Four spacecraft simulators start maneuvering, with the goal of assembling into a line-shaped structure, from short distances. The sides opposite to the bolded lines are the designated docking sides. After less than 3 minutes of maneuver, the four vehicles successfully complete the given mission. The rectangular black and blue vehicles represent two spacecraft simulators docked and maneuvering as a single bigger unit. A video of the experiment can be found online at [38].Figure 14
Experimental Result: bird’s eye view for four spacecraft simulator assembly maneuver. The relative navigation is performed via augmented state estimation. The bolded lines are employed to help visualize the simulator’s orientation.Once the simulators are assembled in couples, they maneuver as a single bigger unit. In particular, the augmented state estimation is reinitialized in order to switch to a new target vehicle in terms of relative navigation. In Figure14, for the left couple, the cyan-represented unit acts as master of the new assembled cyan-red spacecraft. Likewise, for the right couple, the green vehicle is the master in the green-magenta assembly.


## 8. Conclusion

In this work, we are suggesting a complete solution for guidance, navigation, and control of planar multiple spacecraft assembly maneuvers. Guidance is performed by dynamically defining a desired state vector, so that the spacecraft can prepare for docking and correctly connect. The control is based on a real time LQR approach. As for the relative navigation, augmented state estimation is proposed, allowing for correct awareness of the other spacecraft configuration, even in the event of low frequency measurements update. The framework adapts itself to the evolving spacecraft, by switching among different values of mass properties and sensors and actuators configuration, when a new unit assembles to the aggregate.Theoretical developments are presented for the three-degree-of-freedom case, considering a planar motion for the relative position and a single axis of rotation.The experimental validation of the proposed methodology is presented, via floating spacecraft simulators, using an assembly maneuver as baseline. Experiments show how the augmented state estimation can cope with low frequency measurement updates, correctly performing the relative navigation, driving the mission to success. On the other hand, Classical Kalman Estimation, is not accurate for close distances with low frequency measurement updates as demonstrated in the three-degree-of-freedom experimental section. The dynamic guidance and control demonstrate real-time feasibility and the capability of performing autonomous assembly.



---

*Source: 308245-2011-03-13.xml*