  The photovoltaic (PV) industry is seeing a significant shift toward
large-scale solar plants, where traditional inspection methods have proven to
be time-consuming and costly. Currently, the predominant approach to PV
inspection using unmanned aerial vehicles (UAVs) is based on photogrammetry.
However, the photogrammetry approach presents limitations, such as an increased
amount of useless data during flights, potential issues related to image
resolution, and the detection process during high-altitude flights. In this
work, we develop a visual servoing control system applied to a UAV with dynamic
compensation using a nonlinear model predictive control (NMPC) capable of
accurately tracking the middle of the underlying PV array at different frontal
velocities and height constraints, ensuring the acquisition of detailed images
during low-altitude flights. The visual servoing controller is based on the
extraction of features using RGB-D images and the Kalman filter to estimate the
edges of the PV arrays. Furthermore, this work demonstrates the proposal in
both simulated and real-world environments using the commercial aerial vehicle
(DJI Matrice 100), with the purpose of showcasing the results of the
architecture. Our approach is available for the scientific community in:
https://github.com/EPVelasco/VisualServoing_NMPC
