# Automated Design of CubeSats using Evolutionary Algorithm for Trade Space Selection
## 4 CubeSat Design
\begin{table}
\begin{tabular}{c|c c c c c c c c c c} \hline \hline
**Structure** & **OBC** & **Antenna** & **Transceiver** & **Battery** & **PMB** & **ADCS** & **Solar Panel** & **Camera** \\ \hline slD & cID & aID & tID & bID & pID & adID & spID & calD \\ \hline \hline  & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & Integers & \([\ 1\ \ l_{i}\ ]\) & \(\vdash\) & \(\vdash\) & \(\vdash\) & \(\vdash\) & no. of options available & & \\ \hline
**No. of** & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} \\
**Batteries** & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} \\ \hline \(n_{b}\) & b1 & b2 & b3 & b4 & ds1 & ds2 & ds3 & ds4 & dt1 & dt2 & dt3 & dt4 \\ \hline Integers \([\ 1\ 10]\) & \multicolumn{1}{c}{} & Integers \([\ 0\ 1]\) & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & Integers \([\ 0\ 3]\) & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Genotype of the CubeSat showing the structure of the gene: subsystem specifier; and specifier for number of batteries, and number and location of solar panels. The design objective is to maximize the total downloadable ground area coverage and minimize the total mass and total cost of the satellite. For a selected camera from the inventory, the spatial resolution, \(r\), is calculated as Equation (3). \[r=\frac{ap}{f} \tag{3}\]  
where \(a\) is the altitude of the satellite, \(f\) is the focal length of the lense, and \(p\) is the pixel pitch of the image sensor as shown in Figure 4. Considering the sensor having \(p_{H}\times p_{V}\) number of pixels, the total ground area covered per image is given by \(r^{2}p_{H}p_{V}\) and the total size of each image is \(bp_{H}p_{V}\), where \(b\) is the size of each pixel. If \(D\) is the total downloadable data, then the total downloadable ground area coverage, \(AC_{D}\), is expressed as Equation (4). \[AC_{D}=\frac{D}{bp_{H}p_{V}}r^{2}p_{H}p_{V}=\frac{Dr^{2}}{b} \tag{4}\]  
The mass and cost of each component is added to determine the total mass, \(m_{T}\), and total cost, \(c_{T}\), of the CubeSat, and thus, the objective function for the MMKP is expressed as Equation (5). \[\min\frac{-AC_{D}}{m_{T}c_{T}} \tag{5}\]  
To complete the knapsack problem, several constraints are added in terms of mass, volume, power and other properties such as the state of charge (SOC) of the battery subsystem, the pointing accuracy of the ADCS subsystem, the frequency and storage capacity of the on-board computer  
Figure 4: Schematic of spatial resolution of a camera for each pixel. Figure 3: Example of a phenotype of the CubeSat genotype rendered in MATLAB VRML. (OBC), and the bandwidth of the antenna and transceiver. The first constraint is such that the total mass of the CubeSat is less than the maximum allowable mass of a 3U CubeSat (4 kg). For volume constraint, three constraints are added such that after all the components are stacked inside the structure the dimensions along x, y, and z direction (\(l_{x},l_{y},l_{z}\)) are within the 3U CubeSat standard (\(10\times 10\times 34\) cm) [31]. For power, two constraints are added: the first is that the average solar power generated per orbit, \(P_{arg}\), should be greater than the total power requirement of the CubeSat, \(P_{T}\), (which is determined from each component selected), and the second is that the state of charge of the battery subsystem should not drop below a minimum value (user-defined). Other constraints are also added: ADCS--pointing accuracy is within a user-defined value, OBC--clock frequency, \(f_{OBC}\) and storage capacity are within some user-defined values, transceiver and antenna--bandwidth of antenna selected matches that of transceiver.