SPHERES Reconfigurable Control Allocation for Autonomous Assembly Swati Mohan, David W Miller Massachusetts Institute of Technology Abstract: Current research on control allocation emphasizes reconfiguration for adapting to thruster failures. However, in the application of autonomous assembly, the reconfiguration is necessitated by changing physical properties. For the scenario of an assembler tug constructing a large space structure, every docking and undocking maneuver used for the tug to move an individual payload causes a large shift in the dynamics of the tug. Not only do the mass properties change, but so does the thruster configuration. Changes in the center of mass, mass, and inertia of the tug-payload system, causes changes in the equivalent force exerted by each thruster. This paper explores reconfigurable control allocation to adapt to changes in the mass properties. Specifically considered are changes to the center of mass and thruster configuration (number, location, and active thrusters). Results are presented from the implementation of a reconfigurable control allocation algorithm on the SPHERES (Synchronized Position Hold Engage Reorient Experimental Satellites) testbed aboard the International Space Station. Results demonstrate controllability for configurations with large center of mass shifts, varying number of thrusters, as well as maintaining performance from the baseline non-reconfigurable control allocation algorithm on SPHERES. Introduction: Reconfigurable control systems are used in a variety of applications, such as docking, servicing, high efficiency flight, and assembly. Autonomous assembly is a critical technology for future missions such as large space telescopes, on-orbit space stations, and a lunar base. One particular scenario for on-orbit autonomous assembly is to use an assembler tug to maneuver the different payload items. In this scenario, the dynamics of the assembler tug will vary greatly at each docking and undocking maneuver, based on the properties of the payload. Depending on the relative sizes of the tug to the payload, this could be a very significant change. In order to maintain adequate control performance, it is important to account for this property change. The implementation of a reconfigurable control system would be able to account for the frequent mass property changes, while also introducing flexibility into the system. The sequence of assembly would not need to be pre-determined, nor would all configurations have to be precomputed. One aspect of a reconfigurable control system is the control allocation. Previous work on control allocation as primarily focused on being reconfigurable for thruster fault detection and recovery. Work by Dhayagude and Gao [1], Davidson et. al. [2], and Hodel and Callahanz [3] have showed different methods of reconfiguring thruster allocation in the presence of faults. Work by Choi et. al. describes an optimal control allocation for a spacecraft to maximize noise rejection and minimize effect of disturbances [4]. However, for most of these algorithms, the allocation method is fixed in terms of spacecraft properties. This paper’s contribution is to develop a reconfigurable control allocation algorithm that modifies the actuator configuration based on the changing mass properties. The development of the reconfigurable control allocation algorithm was to accommodate the following scenarios.
•
•
•
Docking to an active payload: In some autonomous assembly scenarios, the tug is assembling payload that have maneuvering capability. In these scenarios, it would be beneficial to make use of the actuation capability of the payload. This would save fuel on the tug. It could also possibly allow for greater mobility for the tug-payload system, since the actuators would be placed around the center of mass of the system. Large center of mass offset: In the scenario when the assembler tug is docking to a passive payload, the center of mass of the system will shift. In cases where the payload is larger than the tug, the center of mass will shift to be outside of the thruster envelope. Thruster selection: Over the course of an assembly sequence, the specific thrusters that are valid to be used may vary. Three particular cases are considered. First, in a particular docking case some thrusters may need to be disabled to prevent plume impingement. Second, when docking to an active payload and combining actuators, one might to select the thrusters that provide the maximum torque in that configuration. Third, thrusters may fail over the course of a mission, requiring the control allocation to compensate.
This paper upgrades the baseline control allocation algorithm on SPHERES (Synchronized Position Hold Engage Reorient Experimental Satellites) testbed to a reconfigurable control allocation algorithm. The following sections gives a SPHERES overview (including description of baseline control allocation scheme), describe the methods for the reconfigurable control allocation algorithms, and show experimental results for the final version of the control allocation algorithm. SPHERES Overview: SPHERES is a formation flight testbed aboard the International Space Station. It consists of three free-flying satellites, about 20cm in diameter. The satellites operate inside a 1.5m3 volume aboard the ISS, using a pseudo-GPS navigation system. Each SPHERES satellite has twelve thrusters, fueled by a single CO2 tank, for a full six degrees of freedom. [5]
(a) SPHERES satellite (b) Satellites aboard the ISS Figure 1: SPHERES hardware pictures The baseline control allocation algorithm on SPHERES uses the symmetry of the thruster placement to specify thruster pairs. These forces/torque pairs are pre-determined using the knowledge of the thruster placement, shown in Table 1. Each thruster in a pair produces the exact opposite force and torque as its’ pair thruster. Thus, the matrix can be simplified to use half the data and extrapolate all twelve thruster commands based on pair forces.
Table 1: SPHERES Mixing Matrix and Thruster Pairs (a) Force/Torque matrix for thrusters (b) Thruster Pairs Force Torque Thruster Pair # Thr # Thr # Number X Y Z X Y Z 1 1 7 1 1 1 2 2 8 2 1 -1 3 3 9 3 1 1 4 4 10 4 1 -1 5 5 11 5 1 1 6 6 12 6 1 -1 7 -1 -1 8 -1 1 9 -1 -1 10 -1 1 11 -1 -1 12 -1 1 The force/torque matrix (Table 1a) maps the thruster output to forces and torques. This matrix is condensed to be specific to the thruster pairs and inverted. Then, it is inverted to map the control input to thruster output. The thruster output, in forces, is converted to firing times, using a pulse width modulation scheme. [6] Method: The baseline mixer on SPHERES has several limitations that stem from inherent assumptions of the algorithm. 1. Number of thrusters does not vary 2. Resultant forces and torques from each thruster do not vary. 3. Thrusters are symmetrically placed around the center of mass. Two algorithms (Mixer A and Mixer B) were first developed separately to address these limitations. Mixer A addresses the limitations of static thruster configuration, specifically the number of thrusters and hardcoded mapping matrix. Mixer B addresses the symmetry assumption, as well as the static thruster force/torque assumption. Both algorithms were tested, validated, and then incorporated into a single algorithm, Mixer C. Mixer A: Reconfigurable to Thruster Configuration The objective of Mixer A was to remove the assumption of the static number of thrusters and the static thruster pairs assignment. In the baseline mixer, the conversion of control input to thruster commands is accomplished using a hardcoded pre-computed mapping matrix. Mixer A generates this matrix on-line by taking in the thruster configuration (force/torque matrix as given in Table 1a) and a vector specifying the active thrusters. The thruster pairs are determined online by iterating through all thruster combinations and matching those that have exact opposing forces and torques. If multiple pair combinations exist, the first pair detected is selected. After selecting the pairs, the algorithm checks the pairs against the active thrusters input. If a thruster
is not active, the pair is removed from the active set. The force/torque matrix for the final set of thruster pairs is inverted to generate the mapping matrix, which is used to calculate the thruster commands. Figure 2a shows the block diagram for Mixer A, highlighting the reconfigurable additions from the baseline mixer.
(a) Mixer A – reconfig to thruster config (b) Mixer B – reconfig to center of mass Figure 2: Functional block diagram, Mixer A and B Mixer B: Reconfigurable to center of mass position The objective of Mixer B was to remove the assumptions of the symmetrically placed thrusters and static torque commands. Mixer B takes in the location of the thrusters from the geometric center, the force directions of each thruster, and the center of mass of the spacecraft. The algorithm calculates the appropriate torque generated by each thruster, and generates the full mapping matrix. The idea of thruster pairs is removed, since this is dependent on symmetric thrusters. Instead the thruster commands are generated for each thruster, followed by a check to make sure fuel isn’t wasted by firing in opposing directions. This algorithm is reconfigurable to changing center of mass locations, and consequently changing force/torque outputs by the thrusters. Figure 2b shows the block diagram modifications from the baseline mixer. Mixer C: Reconfigurable to Thruster Configuration and Center of Mass Finally, both Mixer A and B were combined to develop an algorithm that was reconfigurable to both thruster configuration and center of mass location. Mixer C takes as inputs the position of the thrusters, the force directions generated by each thruster, and the center of mass of the body. It also takes in the active thrusters input. Thus, Mixer C is able to address all limitations noted from the baseline mixer. The algorithm calculates the force and torques generated by using the thruster locations, force directions, and center of mass. The thruster force/torque configurations are used to generate the mapping matrix. The non-active thrusters are removed from the mapping matrix, and the remaining thrusters are used to generate the thruster commands. The active thrusters input allows for flexibility in the system. It can be used to implement additional constraints, such as for fault detection or plume impingement. Figure 3 shows the full block diagram for Mixer C, highlighting the differences from the original mixer.
Figure 3: Mixer C functional block diagram Results The three mixers were tested on the SPHERES testbed on the International Space Station with different configurations but under the same set of target locations. Table 2 details the different types of configurations tested aboard the International Space Station and the science objection of each configuration. The target positions, specified from the center of the test volume, are given in Table 3. The objective in this testing is to demonstrate controllability and fuel efficiency.
C# C1 C2 C3 C4
Table 2: Satellite Physical Configurations Tested Configuration Description Mixer Objective Single Satellite Only B, C Compare to baseline mixer Satellite with Battery Proof Mass C Small C.M shift Satellite with Satellite Proof Mass B, C Large C.M shift Two Satellite, joint firing A, C Increased number of thrusters Table 3: Target Locations and Corresponding Error step input Position Error Step Target X Y Z X Y Z T1 0.4 0 0 0.4 0 0 T2 -0.4 -0.4 -0.4 -0.8 -0.4 -0.4 T3 0.4 0.4 0 0.8 0.8 0.4
Joint firing tests were accomplished by using communicating the thruster commands to the second satellite. One satellite was designated as the Primary satellite and performed all of the estimation and computation. It calculated the firing times for all 24 thrusters and radioed the firing times for the 12 thrusters of the Secondary satellite to the other satellite. The Secondary satellite then actuated the thrusters as soon as it received the commands. Figure 5 shows the performance of the two satellites with joint firing. Results are presented here from hardware testing of the Mixer C aboard the International Space Station. Results in Figure 4 validates that the final mixer performs equivalently to the baseline mixer. Figure 4a demonstrates that the position error difference between the baseline mixer and
Mixer C remains less than 2.5 cm during the duration of the test, with a mean of 0. In addition, Figure 4b shows the performance of Mixer C to the baseline mixer, in simulation.
(a) Difference in Position Error (b) Position Error for a 3 target test Figure 4: Performance comparison, Mixer C vs Baseline mixer, single satellite (simulation) Figure 5 shows the performance of Mixer C in achieving its targets for the physical configurations specified in Table 2. Figure 5a demonstrates Mixer C’s performance to the baseline and validates that it can efficiently perform the thrust mapping. Figures 5b, 5c, and 5d demonstrate the performance of the mixer under circumstances than necessitate reconfiguration. All systems are controllable and demonstrate that they can achieve the desire targets in the time frame specified.
(a) C1: Single Satellite
(b) Satellite with Battery Proof Mass
(c) C3: Satellite with Satellite Proof Mass (d) C4: Two Satellite Joint Firing Figure 5: Mixer C Performance on hardware – ISS Test Session 11 Jan 27. 2008 Figures 4 and 5 demonstrated that the configurations could be controlled and stabilized. Figure 6 shows the performance, in terms of fuel usage, at varying stages of reconfiguration. Figure 6 represents four 90˚ Z axis rotations of two satellites attached (C4), shown as the quaternion error. Rotation 1 has no update and is using the baseline SPHERE control allocation algorithm. Rotations 2 and 3 have partial updates. Rotation 4 has the full reconfigurable control allocation algorithm. As seen in Figure 6, the amount of fuel is minimized when the system is reconfigurable and can update the algorithm to best represent the current configuration.
Rotation 1
1.77%
Rotation 2
Rotation 3
Rotation 4
2.77% 1.22% Amount of fuel used, given in percent usage of tank (170g of CO2 in a tank)
1.18%
Figure 6: Fuel performance for attitude control of C4 (two satellites attached)
Conclusions and Future Work: Results demonstrate that the non-reconfigurable mixer on SPHERES could be replaced by a reconfigurable mixer while maintaining performance. In addition, the reconfigurable mixers could handle different configurations, including increased thrusters and large center of mass shifts. For all single satellite configurations, the rise time was less than 50s, max settling time of
60s, and a max overshoot of 5 cm. For two satellite cases, the joint firing case performed better than the satellite proof mass case, because the center of mass remained inside the thruster envelope. For C4, joint firing, average overshoot is on the order of 10cm, while rise time is about 60s. For C3, satellite proof mass rise time was ascertained to be similar and peak overshoot was on the order of 20cm. Definitive settling times could not be measured, especially for satellite proof mass, due to the limited maneuver length. Performance, in terms of fuel usage, was obtained and demonstrated to be best for the case of full reconfiguration implementation, which uses the most accurate model of the current configuration. The reconfigurable thrust mapping results presented here in conjunction with on-line gain calculation, demonstrate a simple reconfigurable control system. Future work includes incorporating on-line mass property identification, as well as reconfigurable estimators. Reconfigurable estimation is important when sensors are blocked during assembly, or as the size and mass of the structure being assembled grows. Also, if the payload has accessible sensors, the tug estimator could be reconfigured to make use of the payload sensors. Once these items are implemented, they can be used to demonstrate an end-to-end on-orbit autonomous assembly demo, using both active and passive payload. References: [1] Dhayagude, & Gao, Z. “A Novel Approach to Reconfigurable Control Systems Design”. Journal of Guidance, Control, and Dynamics,1996, 19, 963-966. [2] Davidson, J.B. Lallmant, F.J. & Bundick, W.T. “Integrated Reconfigurable Control Allocation”. AIAA Guidance, Navigation, and Control Conference and Exhibit, 2001. [3] Hodel, A.D. & Callahanz, R. “Autonomous Reconfigurable Control Allocation (ARCA) for Reusable Launch Vehicles”. AIAA Guidance, Navigation, and Control Conference and Exhibit, 2002. [4] Choi, Y, Bang, H., & Lee,H. “Dynamics Control Allocation for Shaping Spacecraft Attitude Control Command”. AIAA Guidance, Navigation, and Control Conference and Exhibit, 2006. [5] Saenz-Otero, A & Miller, D.W. “SPHERES: a platform for formation flight research”. UV/Optical/IR Space Telescope: Innovative Technologies and Concepts II conference, 2005. [6] Hilstad, M. “A Multi-Vehicle Testbed and Interface Framework fro the Development and Verification of Separated Spacecraft Control Algorithms”. Masters Thesis. Massachusetts Institute of Technology, 2002.