# Design and Optimization of Non-Coplanar Orbits for Orbital Photovoltaic Panel Cleaning Robots
## 2 Construction of Models
### Trajectory Model  
According to the analysis of the cleaning robot's motion law in Section 2.1, the translational phase at the beginning of one work cycle coincides with the translational phase at the end of another work cycle, thereby forming a closed loop of motion. In order to ensure the integrity of the trajectory, the non-coplanar trajectory during the spanning motion phase is solved by examining the motion law of the PV panel cleaning robot throughout a single work cycle. The simplified model of the cleaning robot's motion is illustrated in Figure 4. The world coordinate system, denoted as o-xyz, and the local coordinate system, designated as O-XYZ, are established. In order to facilitate the representation of the  
Figure 3: A diagram illustrating the pose transformation.  
Figure 2: The actual inspection of desert PV power plants.  
cleaning robot's positional state, it is simplified to a straight line in space and aligned with the world coordinate system to establish the initial position (state 0). Consequently, the initial positional matrix of the rigid body is represented as a fourth-order identity matrix, denoted as \(T_{0}\). In other words, the cleaning robot moves from State 0 to State 1, then spans the distance between the photovoltaic panels to reach State 2, and finally moves to State 3 to complete a work cycle, as described in detail below.  
The robot moves from State 0 to State 1, completing the translation transformation of the initial position. The translation matrix \(Trans(x_{1},0,0)\) at this stage is equal to the transformation matrix \(\prescript{0}{1}{T}\). The model is established as follows:  
\[\prescript{0}{1}{T}=Trans(x_{1},0,0)=\begin{bmatrix}1&0&0&x_{1}\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix}, \tag{1}\]  
The robot moves from State 1 to State 2, completing the spanning motion. Since there may be more complex relative positions between the PV panels, a translation matrix \(Trans(x_{2},y_{2},z_{2})\) and a rotation matrix \(R(\phi,\theta,\psi)\) are generated accordingly during the spanning motion phase, Specific analyses are provided in Appendix A. Therefore, the transformation matrix \(\prescript{2}{T}\) for this phase is as follows:  
\[\prescript{1}{T}=\begin{bmatrix}c\phi c\phi c\phi\phi\phi\psi-\phi c\phi\psi&c \phi\phi c\psi+\phi\psi\psi&x_{2}\\ \phi c\phi&\phi\phi\phi\psi+c\phi c\psi&\phi\phi\phi\psi-c\phi\psi&y_{2}\\ -\phi\phi&c\phi\psi&c\phi c\psi&z_{2}\\ 0&0&0&1\end{bmatrix}, \tag{2}\]  
The robot moves from State 2 to State 3, completing a translational transformation of another attitude. The translation matrix \(Trans(x_{3},y_{3},z_{3})\) at this stage is equal to the transformation matrix \(\prescript{2}{3}{T}\). The model is established as follows:  
\[\prescript{2}{3}{T}=Trans(x_{3},y_{3},z_{3})=\begin{bmatrix}1&0&0&x_{3}\\ 0&1&0&y_{3}\\ 0&0&1&z_{3}\\ 0&0&0&1\end{bmatrix}, \tag{3}\]  
The associative Formulations (1)-(3) can represent the motion of the robot during a working cycle. Consequently, the trajectory data of the PV panel cleaning robot during its spanning motion can be described by a set of three-dimensional (3D) point sets, denoted as \(O_{i}\), and represented as follows:  
\[O_{i}=\begin{bmatrix}x_{1}&\ldots&x_{n}\\ y_{1}&\ldots&y_{n}\\ z_{1}&\ldots&z_{n}\end{bmatrix}, \tag{4}\]  
Figure 4: The simplified model of the cleaning robot’s motion.  
where \(n\) denotes the number of columns in the 3D point set and \(O_{l}(i=1,2,\ldots,n)\) is an \(n\times 3\) matrix that stores the 3D data point set, with each column in the matrix representing a spatial data point. Any point in this matrix can be denoted as \(O_{l}=(x_{i},y_{i},z_{i})\).