# Micro-Satellite Systems Design, Integration, and Flight
## 4 Attitude Control System (ACS) Development
### Attitude Control
#### 4.3.2 Active Techniques  
The CubeSat has a controller algorithm that is an active way to improve the ACS system. The controller algorithm uses two controllers for different purposes: one for spin stabilization and one for axis alignment. This controller was initially developed by [PERSON] [18]. The ACS system uses a Kane damper as its first controller. The Kane damper is a controller that imitates a rigid body with a frictional damper acting on it. The algorithm simulates a situation where the spacecraft has a spherical inner chamber. There is a sphere-shaped mass inside this chamber that is slightly smaller, and a thick liquid around it. The CubeSat is slowed down by the imaginary difference in angular speeds between the spacecraft and damper. Figure 32 explains this better. The simulated situation has two adjustable coefficients: the moment of inertia of the inner sphere, Id, and the damping constant of the viscous fluid, c. The inner mass is simulated as a sphere, so the moment of inertia can be simplified as a coefficient times the identity matrix. Changing the Kane damper can therefore be performed by changing two scalar values. A surface plot can be made, performed by [PERSON], to pick a set of values that best improve the stability and convergence of the controller (Carabellese) [19]. Figure 31: Passive ACS techniques used in Alpha: (a) lead weights to increase the moment rotational moment of inertia; (b) steel weights to balance the center of mass toward the middle of the CubeSat (c) the rotational \(z\) axis and the geometric \(z\) axis within 5 deg for stability. Image Credit: [PERSON]. Pointing is the second component of the ACS system. It is activated by a toggle switch in Simulink. It uses a proportional derivative (PD) controller to achieve pointing. A PD controller is a feedback controller that changes its system outputs based on the error, which is the difference between the desired value and the real time value. The PD controller does this by (1) a proportional relation to the error and (2) a derivative relation to the error history. Figure 32 below illustrates the feedback process. The proportional control is calculated with each feedback loop iteration. The reference value is marked as \"ybar\" in Figure 33 below. The current value is marked by \"y\". The error, \"e\", is the difference between the reference and feedback values. The proportional control is adjusted by the gain constant \"Kp\". The output can be proportionally scaled to the size of the error. The derivative control is based on the slope of the line that touches the last two or more feedback loop iterations. The line's direction is considered to avoid going over the reference value. It can also help counter some disturbances. The derivative control is changed by the gain constant \"Kd\". Proportional Integral Derivative (PID) controllers are common and widely used in many industries. Adding the integral component helps counter more disturbances and makes sure there is no steady-state error. However, it also makes the controller more expensive and slower to run. The communication requirement allows for a small steady-state error that the PD controller may have. The requirement for our settling time is to reach a steady state in 8 h. Simulations suggested that settling time would not be a problem. Therefore, making sure of the system's robustness was more important. This meant keeping the computational load on our flight computer low to reduce risk. Since the flight computer controls the whole satellite, it was decided to keep computation low to lower risk. Figure 33: PD feedback block model. Figure 32: Kane damper model. Validating PD Control Method  
We wanted to make sure that the PD controller was the best controller for meeting our requirements, so we compared our system to the common controllers in the industry.