1. Introduction
Solar energy, as a clean and renewable energy source, plays a crucial role in the global transition of the energy structure. Solar panels, as the core equipment of solar power generation, have are highly efficient at converting and utilizing energy. With the growing global demand for renewable energy, the installation of solar panels is rapidly increasing. However, dirt, dust, bird droppings, and other pollutants accumulate on the surface of solar panels, significantly reducing their energy conversion efficiency. Therefore, keeping solar panels clean is essential for improving their performance and extending their lifespan.
The solar-panel-cleaning vehicle is designed for cleaning solar panels and removing contaminants such as dust, dirt, and oil films to improve their power generation efficiency. This vehicle is equipped with a high-pressure water jet and a cleaning liquid pump which sprays high-pressure water and clean liquid onto the solar panels for cleaning. Additionally, it is equipped with a safe and stable suspension system to easily adapt to different terrains and tilt angles, as shown in
Figure 1 [
1].
For the convenient remote controlling of the solar-panel-cleaning vehicle, the autonomous navigation function is essential to move on solar panels. Automatic cleaning functionality is also necessary to improve cleaning efficiency and operational convenience.
Figure 2 illustrates the autonomous navigation of the solar-panel-cleaning vehicle. Generally, the autonomous navigation function requires addressing the positioning issue. A positioning system is employed to locate an object in space, including interstellar, global, and regional systems in a broad area. Positioning systems are classified into indoor positioning systems (IPSs) and outdoor positioning systems (OPSs) [
2]. The most common outdoor positioning system is the global positioning system (GPS) developed by the U.S. government. Its main advantages include high signal penetration, global coverage of 98%, high efficiency, and wide-ranging applications. Its positioning accuracy ranges from 0.3 to 6 m [
3]. Indoor positioning systems are commonly used in buildings and basements with technologies such as WiFi, radio-frequency identification (RFID), inertial measurement units (IMUs), and simultaneous localization and mapping (SLAM) [
4]. Since solar panels are used outdoors, an outdoor positioning system must be adopted. However, GPS is not appropriate for the positioning of the solar-panel-cleaning vehicle due to the limitations of current outdoor positioning accuracy, so a line-following navigation mode was used instead.
Due to the presence of parallel white lines on the solar panels, we used YOLOv4-Tiny [
5] to detect the parallel white lines and a proportional–integral–derivative (PID) controller to achieve autonomous navigation [
6]. When the solar-panel-cleaning vehicle reaches the boundary, it turns around and continues to move in a straight line in the opposite direction, until the cleaning is completed or the autonomous navigation function is deactivated.
4. Results and Discussions
Due to the large size of the commercial solar-panel-cleaning vehicle, we used a two-wheeled robot with a similar structure as a solar-panel-cleaning vehicle. The system’s main platform was Raspberry Pi. When performing YOLOv4-Tiny model inference using the CPU, the system processed two images per second on average. To increase the inference speed, we used Neural Compute Stick 2 (NCS2) acceleration hardware [
8] that processed eight images per second with NCS2.
NCS2 is an artificial intelligence (AI) acceleration hardware developed by Intel. NCS2 is a compact device based on USB 3.0 (
Figure 6). It contains Intel’s Movidius Myriad X VPU, a hardware accelerator specifically designed for deep learning and visual processing. NCS2 can be used with any device running Windows, Linux, macOS, or Raspbian. These devices operate on Intel’s OpenVINO toolkit [
9] to optimize neural networks and deploy them on multiple NCS2 units. The key feature of NCS2 is its ability to accelerate the inference process of various deep learning models. Due to its small size and low power consumption, NCS2 is a powerful, yet affordable solution for accelerating neural networks. NCS2 has been utilized in areas such as smart home systems, video surveillance systems for home or small offices, and other tasks.
In application scenarios, a camera mounted on a solar-panel-cleaning vehicle is used to capture images from a bird’s eye view and film the scene. In operation, white lines may appear at any position within the image. Due to deviations in the vehicle’s straight line movement, the white lines tilt either left or right. Since YOLO is a supervised learning model that requires labeled targets, bounding boxes are used for annotation in YOLO. In the image dataset, 110 images with a resolution of 640 × 240 pixels were selected in this study. In sample images (
Figure 7a–e), each white line was manually annotated with a bounding box (
Figure 7f–j). The annotation process was carried out using Labelme software [
11].
In model training, the learning rate was set to 0.00261, and the momentum was set to 0.9. The model was trained for 6000 epochs, with a batch size of 32. The model’s performance was evaluated using average precision (AP@0.5), where AP@0.5 refers to the AP detected when the true positive IOU threshold was set to 0.5. The performance of YOLOv4-Tiny in white line detection is shown in
Figure 8. In the experiment, 90% of the solar panel images were randomly selected for training, while the remaining 10% were used for testing. The model’s average loss began to stabilize around 1200 epochs, and it achieved the highest AP of approximately 93% at around 3500 epochs.
To evaluate the actual path of the vehicle, we recorded the vehicle’s
e(
t) during its movement.
e(
t) represents the difference between the white line position x at time
t and the target position x, normalized within ±1. When the vehicle moved in a straight line on the solar panels,
e(
t) was monitored to track the deviation of the vehicle.
Figure 9 and
Figure 10 show
e(
t) without using NCS2 and with NCS2, respectively. These figures represent the changes in
e(
t) as the vehicle travelled along a straight path. When the model inferred white lines without using NCS2, the fluctuations in
e(
t) were significant, with a maximum error reaching 0.9. However, when NCS2 was used for model inference, the variations in
e(
t) became smaller, remaining within a stable range of ±0.06. This difference occurred because the speed of model inference affected the accuracy of the vehicle’s corrections using the PID controller. When inference is slow, real-time adjustments cannot be made. Additionally, with NCS2,
e(
t) stabilized after about 250 frames, whereas the maximum frame count was 60 without NCS2 due to delayed inference. Such inference caused incorrect PID control adjustments, leading the vehicle off the path and preventing it from detecting the white line.
PID control was adjusted using the proportional constant, , the integral constant , and the derivative constant . The average value and standard deviation of e(t) were monitored for each set of conditions. The performance of the PID controller largely depends on the proper tuning of these parameters. By adjusting , , and , the system conducted optimal control to meet various control requirements.
The experimental results for
are shown in
Table 1. When
increased from 7.5 to 11, the average value of
e(
t) significantly decreased. However, when
increased to 15, the average value of
e(
t) slightly increased. The standard deviation of
e(
t) was highest when
was 11, though the increase was not substantial. By balancing the average value and standard deviation of
e(
t), the optimal proportional constant
was determined to be 11. Considering the results, the experiments were conducted on
with
of 11.
The experimental results for
are shown in
Table 2. When
was 0.1, the average value of
e(
t) became the smallest, but the standard deviation of
e(
t) became large, indicating greater variability in the overall error. When
was reduced to 0.01, the average value and standard deviation of
e(
t) reached a better balance. However, when
was further reduced to 0.001, the average and standard deviation of
e(
t) increased. Considering the result, the experiments were conducted on
with
set to 11 and
set to 0.01.
The experimental results for
are shown in
Table 3. When
was 10, the average and standard deviation of
e(
t) tended to be large. As
increased to 30, the average value and standard deviation of
e(
t) decreased, which showed the best
. However, when
increased to 50, the average value of
e(
t) increased, indicating that the system had become overly sensitive.
By adjusting and experimenting with the proportional, integral, and derivative parameters of the PID controller, the optimal proportional parameter was determined as 11, the optimal integral parameter was 0.01, and the optimal derivative parameter was 30. Under these PID control parameters, the entire navigation system became stable, and the average value and standard deviation of e(t) reached their lowest values of −0.0412 and 0.1826, respectively.
To adjust the parameters of the PID controller, the vehicle was tested while moving along a straight line. The adjusted PID controller system was tested on a complete standard solar panel path (
Figure 2). As shown in
Figure 3, navigation was performed through white line detection and PID control until the boundary was reached. Upon encountering the boundary, the system performed reversing, turning 90°, moving forward, and turning back 90°. The 90° turns were controlled over time. After turning,
e(
t) significantly increased, as depicted in
Figure 11. In the figure, the red points indicate the recorded values of
e(
t) after completing the sequence of reversing, turning 90°, moving forward, and turning back 90°. A larger
e(
t) implies that the system requires more time to stabilize the value of
e(
t). To address this, the time-controlled turns were replaced with angle-controlled turns. The
e(
t) values after completing the path with angle-controlled turns are shown in
Figure 12, demonstrating an effective reduction in post-turn
e(
t).
e(
t) after the series of turns was maintained within a range of ±0.25.
The angle calculation relies on the MPU-6050 six-axis sensor [
12]. The appearance of the MPU-6050 is shown in
Figure 13. It contains a three-axis accelerometer and a gyroscope to measure the acceleration and angular velocity of an object. Acceleration is the rate of change in an object’s velocity over time, and angular velocity is the rate of change in an object’s angle during rotation. By measuring acceleration and the rotational angle on different axes, the tilt angle, the movement direction, and the rotational angle of the object were calculated. The angle used in angle-controlled turning is the rotational angle and is calculated using (5).
where
θ(0) is the rotational angle at time
t, and
θ(0) is the initial angle, which is usually assumed to be 0.
ω(
t) represents angular velocity at time
t, which is the rate of change in the angle. By integrating angular velocity from time 0 to
t, the angle over this period is obtained.