In my recent research and development work, I have focused on addressing the critical challenges associated with snow accumulation on solar panels during winter. The core objective of this study is to establish a robust framework for detecting snow cover on solar panels and to devise an efficient path planning strategy for cleaning robots. The presence of snow on solar panels significantly reduces their power generation efficiency, and in extreme cases, can cause structural damage. My approach integrates advanced image processing techniques with dynamic path optimization to create a cohesive system that is both responsive and efficient. This paper presents a comprehensive analysis of the methodologies I have developed, covering snow feature recognition, area partitioning, path calculation, and task scheduling, all supported by extensive experimental validation.
1. Analysis of Current Challenges
The deployment of photovoltaic systems in high-altitude and high-latitude regions has led to widespread issues with snow coverage. Manual snow removal is often slow and inconsistent, failing to meet the demands of large-scale solar panel arrays. Some stations use timed heating systems, but these lack closed-loop control and are inefficient. My analysis of existing robotic systems revealed a significant gap: most rely on static, predefined paths without the ability to adapt to the actual distribution of snow on the solar panels. This leads to overlapping trajectories, uncovered areas, and uneven energy consumption. The core challenge I aimed to solve was the lack of a dynamic, vision-guided mechanism that could seamlessly translate sensor data into an optimized cleaning trajectory for cleaning robots.
2. Snow Accumulation Detection on Solar Panels
2.1 Snow Feature Identification
To overcome the difficulties of edge recognition under varying light conditions and wind-blown snow, I developed a high-contrast directional imaging system. I use a cold light source directed at a black background to create a sharp contrast at the snow particle boundaries, effectively suppressing ambient grey-scale interference. A high-speed camera captures image sequences, while a wind and snow guide limits the incident light path, forming an optical shielding window to enhance the stability of the snow texture. The system projects raw image data onto the reference plane of the solar panel, clearly defining the geometric relationship between the snow-covered area and the physical panel surface.
In the image processing workflow, the system first performs grey-scale stretching and edge operator enhancement to amplify brightness transitions, creating a combined brightness-edge feature map. The initial snow contour is generated by combining brightness threshold segmentation with edge continuity checks. I then extract pixel neighborhood grey-scale variance and local directional gradients to construct a snow structure tensor. By performing cluster separation and boundary reconstruction in the feature space, the system generates a clean snow target layer. A weather warning module works in coordination with the image capture system to adjust the capture frequency and encoding thresholds in real-time, ensuring stable input for the recognition layer. The following table summarizes the key parameters of the imaging system I employed.
| Parameter | Value | Description |
|---|---|---|
| Image Sensor | IMX335 | High-speed CMOS sensor for snow capture |
| Light Source | Cold LED | Provides high-contrast directional lighting |
| Capture Rate | 30 fps | Frame rate for capturing dynamic snow conditions |
| Resolution | 1920 x 1080 | Pixel resolution for detailed snow edge detection |
| Grey-scale Threshold | 120-200 | Range for initial snow area segmentation |
2.2 Snow Condition Response
To address the lag in heat control and misidentification of snow states, I devised a three-tier response structure consisting of sensing, control commands, and actuation. The system installs snow depth and temperature sensors at the front edge of the solar panels to monitor the height of the snow layer and the local thermal distribution. This data is fed into a control unit, which parses the signals and triggers thermal control strategies based on the gradient of snow depth and the rate of temperature change. The control unit sends drive signals to adjust the power of the heating pads, using a constant-power, segmented logic for dynamic response. The heating elements are attached to the back of the solar panel, creating a stable thermal contact path that melts the snow from below. An energy storage unit ensures continuous power output during low irradiance. The entire response process forms a closed-loop trigger logic based on fluctuations in temperature and thickness sensor data, ensuring precise execution of thermal control actions.
3. Path Planning for the Cleaning Robot
3.1 Work Area Partitioning for Solar Panels
The robot uses the snow mask generated by the image recognition module to construct a grid structure of the work area. I applied an equal-distance segmentation method to create a uniformly scaled grid index on the solar panel array plane. The grid step size is set based on the width of the cleaning actuator, forming structurally equivalent two-dimensional discrete work units. The snow coverage calculation module processes the mask to generate a coverage label for each grid cell, which is then mapped to physical coordinates, resulting in a task matrix.

For the task matrix, I used a density-based clustering algorithm to extract sub-regions. High-gradient concentration areas are classified as core work zones, while low-density areas are designated as marginal task zones. Each region is numbered, and a connectivity matrix is built based on adjacency, recording the jump counts and directional relationships between work units. The numbering uses a spiral traversal combined with priority sorting to build a main path and a compensation path structure. The robot’s task assignment vector is based on the sub-region numbers. In multi-robot scenarios, a mutual exclusion detection module is introduced to reject conflicting region numbers, resulting in a stable partitioned layer.
3.2 Cleaning Path Calculation
Based on the work area partitioning, I built a path node set, with grid centers acting as candidate trajectory nodes. The path calculation module performs minimum-cost path planning. The trajectory is generated using the topological graph and a coverage weight matrix to create a directed path map for the task units. I introduced an action penalty function and a steering cost function to constrain the path’s angle change and collision risk, respecting the robot’s minimum turning radius and cleaning width.
The path optimization uses a weighted objective function that considers path length, task density, steering angle changes, and job continuity. The function I defined is:
$$C_{\text{total}} = \sum_{i=1}^{n-1} \left( \alpha \cdot d_{i,i+1} + \beta \cdot \| \theta_{i,i+1} \| + \gamma \cdot \frac{1}{\rho_i} \right)$$
Where Ctotal is the comprehensive cost for the cleaning path, n is the total number of planned nodes, di,i+1 is the Euclidean distance between adjacent nodes i and i+1, θi,i+1 is the difference in path direction angle (steering cost), ρi is the task density of the current work unit (prioritizing high snow areas), and α, β, and γ are empirical weight parameters. I used a Traveling Salesman Problem (TSP) sequence with a pruning mechanism to remove redundant trajectories, and constant-speed interpolation to correct breakpoints, generating the control vector mapping commands for a closed-path solution. The table below lists the optimization parameters I used.
| Parameter | Symbol | Value |
|---|---|---|
| Distance Weight | α | 0.5 |
| Steering Cost Weight | β | 0.3 |
| Density Inverse Weight | γ | 0.2 |
| Minimum Turning Radius | rmin | 0.15 m |
| Path Node Count | n | Variable |
3.3 Task Scheduling and Execution
The scheduling system is state-driven, creating a chain of work triggers. The job management module generates a task table based on the grid index, sorting tasks by timestamp, energy estimation, and path density. The main controller extracts the path location vector and remaining task mapping from a state cache to generate a stream of scheduling commands. A dynamic window mechanism updates the executable area index based on path occupancy and grid density changes. The scheduling logic includes a task insertion mechanism and mutual exclusion access control to avoid path conflicts and node overlap. A path execution monitoring module collects real-time navigation bias, position error, and synchronization information, feeding this back to the state controller to adjust the path invocation rhythm. The table below shows the performance metrics comparing my system to a traditional system during testing.
| Metric | Traditional System | My System (Proposed) |
|---|---|---|
| Boundary Recognition Deviation (pixels) | 18.47 | 6.32 |
| Area Recognition Time (ms) | 312.64 | 143.29 |
| Trajectory Offset Mean (cm) | 5.83 | 2.14 |
| Path Period (s) | 46.73 | 31.86 |
| Scheduling Response Time (ms) | 287.35 | 121.48 |
| Path Segment Reuse (times) | 4 | 11 |
| Total Trajectory Length (m) | 19.62 | 17.38 |
4. Test and Validation
I conducted experiments on a photovoltaic training site with a solar panel array covering 24 m2. The panels were arranged in a 4-column by 3-row configuration with a 28° tilt angle. Artificial snow was applied to maintain a thickness of 20-40 mm. The environment was controlled at -4 to -2°C with wind speeds below 2.5 m/s. My robot system used an STM32H743 core control unit, an IMX335 image sensor, dual-axis encoder drivers, a CAN communication interface, and a steering wheel driver. The traditional system used a fixed-path program with a timer module and a CMOS image unit. The edge detection algorithm used a Sobel-Laplace composite structure to build a binary boundary map. The trajectory offset was defined as the mean Euclidean distance between the planned path centerline and the actual trajectory. The results demonstrate that my system significantly outperforms the traditional one in all key metrics. The boundary recognition error was reduced to 6.32 pixels, the trajectory offset was minimized to 2.14 cm, and the path period was shortened to 31.86 seconds. The path segment reuse frequency increased to 11 times, indicating strong path reconstruction capability. The total trajectory length was compressed to 17.38 m, making the motion execution more compact and efficient.
5. Conclusion
This paper details my systematic approach to integrating snow detection with robotic path planning for solar panels. By developing modules for snow feature identification, work area partitioning, path optimization, and task scheduling, I have created a complete operation flow model. The core of my contribution is the closed-loop framework that transitions from visual perception to dynamic path execution. The experimental results validate the effectiveness of the system, showing improvements in recognition accuracy, scheduling efficiency, and path control. My work successfully establishes an autonomous cleaning robot operation mode for snow-covered solar panels, achieving optimized execution across multiple dimensions. This provides a solid foundation for future work on multi-objective coordination, complex terrain adaptation, and cross-season deployment of cleaning robots.
