Inspecting Solar Farms With a UGV: Where Ground Robots Beat Drones and Where They Don’t
Tom Cosgrove,

TL;DR: A solar farm inspection robot on wheels – a UGV – gives you long dwell times, close-range thermal and visual data, and repeatable positioning between panel rows when supported by suitable localization. A drone gives you area coverage speed and can produce an orthomosaic view of entire blocks. Neither replaces the other. UGVs are well suited to detailed defect characterization, under-module inspection, autonomous recharging, and operation without aviation restrictions. Drones win on raw throughput across hundreds of hectares. This article covers how thermal hot-spot detection works, how row navigation is actually implemented in ROS 2, and where each platform breaks down.
What Makes Solar Farm Inspection Hard Enough to Automate?
A utility-scale PV site is a repetitive structure spread over a large area. Modules degrade in ways that are invisible from a distance: cell cracks, bypass diode failures, PID (potential-induced degradation), soiling, delamination, junction box faults. Many of these can produce thermal signatures, although thermal imaging alone does not conclusively identify every defect type. A failed cell can dissipate energy instead of exporting it, and that can show up as a temperature anomaly.
The problem is scale. Manual inspection with a handheld thermal camera is accurate and slow. A technician walking rows with an IR camera can characterize a module properly, but the throughput means full-site coverage happens rarely, often only when production drops enough to trigger a search. By then the underperformance may have been accumulating for months.
That gap – between accurate-but-slow and fast-but-shallow – is where a solar farm inspection robot fits. A UGV does not match a technician’s judgment, but it does not get tired, it can repeat the same path with high consistency, and it can run at 3 AM for non-thermal tasks such as controlled-light visual inspection or soiling audits, provided the required illumination is available.
Framing the problem in terms of impact: every percentage point of unaddressed module underperformance is energy that the site never produces. The engineering question is not whether to inspect, but what sensor needs to be how close to the panel, how often, and what carries it there.
How Does Thermal Hot-Spot Detection Actually Work From the Ground?
Thermal inspection relies on the fact that a defective cell or string can convert electrical energy into heat. IEC 62446-3, which superseded IEC TS 62446-3 for outdoor infrared thermography of PV modules and plants, sets out conditions and procedures for valid measurements. Commonly cited operating conditions include irradiance of at least 600 W/m² in the plane of the array, stable irradiance, low wind, and a known viewing angle relative to the module surface. If you ignore those conditions, you can get thermal images that look convincing but are not reliable for diagnosis.
A ground platform has specific advantages here that are worth stating precisely.
- Distance control. Spatial resolution of a thermal image is driven by the detector’s IFOV and standoff distance. A UGV driving a row at a fixed 2-3 m from the module plane can produce a consistent mm-per-pixel figure across the entire run. A drone at varying altitude and attitude needs tightly controlled flight and gimbal geometry to achieve the same consistency.
- Viewing angle. Emissivity of glass is strongly angle-dependent, and reflections of sky and sun contaminate the measurement at oblique angles. A ground robot approaching the row broadside can hold a near-normal or controlled-oblique angle. A drone can also control its viewing angle with an appropriate gimbal, but nadir or steep-oblique imagery may be more prone to reflective geometry on tilted modules.
- Dwell time. Thermal anomalies are not always instantaneous. A UGV can stop, hold the camera on a suspect module, and record a short time series. This can help separate a transient reflection from a persistent hot spot.
- Underside access. Junction boxes, cabling, connectors, and combiner enclosures sit under or behind the array. These are potential failure sources and are generally inaccessible to aerial imaging.
Practically, a thermal payload on a small UGV is a radiometric camera – for example, a suitable FLIR Boson or Lepton configuration, or another calibrated radiometric core – mounted on a pan-tilt unit so the camera can look up at the inclined module plane. Radiometric output matters: non-radiometric cores give you a picture with automatic gain control, not calibrated temperature values per pixel. For quantitative temperature analysis, you need the per-pixel values and appropriate environmental corrections.
A workable ROS 2 pipeline for this looks like a thermal driver node publishing sensor_msgs/Image plus a calibration or metadata topic, a detection node applying thresholding and connected-component analysis on the temperature field, and a geotagging node that stamps each detection with the robot’s pose from the localization stack. The output is not an image gallery. It is a list of anomalies with coordinates, delta-T values, and module identifiers.
How Do You Navigate a UGV Between Panel Rows?
Row navigation is the part people underestimate. A solar array is a GNSS-hostile and perceptually repetitive environment, and the two problems compound.
GNSS degradation happens because module rows restrict sky visibility and can create multipath from glass and steel structures. Standing in a narrow corridor between two tracker rows, a receiver may lose sky view on both sides and pick up multipath off the glass and the steel torque tubes. RTK fix can become float, float can become single-point, and your “centimeter-accurate” path following can drift substantially. This is a real constraint, not a theoretical one, and it can become more pronounced in single-axis tracker sites when panel orientation changes.
Perceptual aliasing is the second problem. Every row looks like every other row. Pure visual place recognition and naive loop closure can match row 14 to row 47. A LiDAR-based SLAM map of a PV site can contain hundreds of near-identical corridors.
There are several workable approaches to this, and most deployments combine them:
- Row-relative reactive navigation. Instead of tracking a global path, treat the two adjacent module rows as a corridor. Extract the two planes or the two leading edges from a 2D or 3D LiDAR scan, compute the corridor centerline, and drive it. The robot stays centered and parallel regardless of global position error. This is conceptually similar to crop-row following in agricultural robotics and uses the same primitives: RANSAC line or plane fitting, then a controller on lateral offset and heading error.
- GNSS for row-level topology, local perception for in-row control. GNSS in float mode can still be good enough to estimate which row you are in and whether you have reached the end of it, but this must be validated for the specific site. Use it for the topological layer – a graph of rows and headlands – and let perception handle the geometric layer.
- Fiducial or physical anchors at row ends. AprilTags on row-end posts give absolute, unambiguous re-localization. The apriltag_ros package in ROS 2 handles the detection and pose estimation. This is cheap, robust, and it directly solves the perceptual aliasing problem because every tag carries a unique ID.
- Wheel odometry plus IMU for the gaps. Between anchors, fused odometry carries you. Over a single row of a few hundred meters this can be acceptable if you correct at each end, although wheel slip and surface conditions must be accounted for.
In ROS 2 terms, this maps cleanly onto the Nav2 stack. The behavior tree can handle row-to-row sequencing. A custom controller plugin or a tuned Regulated Pure Pursuit controller can handle in-row following. robot_localization fuses wheel odometry, IMU, and intermittent GNSS into a continuous pose estimate. The key design decision is which frame your mission is defined in – defining waypoints in a global frame when GNSS is unreliable creates failures that look mysterious but are entirely predictable.
Terrain matters too. Inter-row surfaces are typically compacted gravel, vegetation, or bare soil with drainage channels and cable trenches. A small differential-drive or four-wheel platform with reasonable ground clearance and suspension can handle this when site conditions permit. The Leo Rover is a 4×4 platform with independent suspension intended for outdoor terrain and supports ROS 2 integration with open mechanical and software interfaces for mounting custom payloads. For a solar farm inspection robot, the payload question – thermal camera, pan-tilt, extra compute, possibly an RTK receiver – usually drives the platform choice more than the drivetrain does.
When Does a Drone Beat a UGV, and When Does It Lose?
This comparison gets distorted by vendor marketing on both sides. The honest version is that the two platforms occupy different points on a coverage-versus-detail curve.
Here is a structured comparison of the two approaches for PV inspection work:
| Factor | Aerial (UAV) | Ground (UGV) |
|---|---|---|
| Area coverage rate | High. Full-block thermal sweeps can be completed quickly. | Low. Row-by-row, limited by ground speed and terrain. |
| Endurance per charge | Typically 20-45 minutes for multirotors, then battery swap. | Often hours, depending on payload, terrain, and battery capacity. |
| Autonomous recharging | Possible with docking stations, mechanically complex. | Possible with ground docking; easier than precision hovering, but still dependent on reliable alignment and clean contacts. |
| Thermal standoff consistency | Varies with altitude hold, terrain following, wind, and gimbal control. | Consistent when row spacing and robot path are consistent. |
| Viewing angle control | Top-down or oblique, with controllable gimbal geometry on suitable systems. | Broadside, near-normal, controllable via pan-tilt. |
| Under-module / junction box access | Generally not possible. | Yes, with appropriate mast or camera placement. |
| Wind sensitivity | Significant. Flight limits and image stability. | Low, although wind can still affect sensor conditions and vegetation. |
| Regulatory burden | Aviation rules, operator requirements, airspace authorization, and BVLOS restrictions may apply. | No aviation regulation, but site safety, machinery, radio, and workplace requirements may apply. |
| Night operation | Permitted only under applicable operational rules and equipment requirements; often operationally more constrained. | Possible where site rules and safety procedures allow it, enabling non-thermal night methods. |
| Risk to array on failure | Potential falling object onto glass. | Ground collision, usually with lower consequence. |
| Vegetation and terrain dependence | Low for access, although vegetation can affect image interpretation. | High. Tall grass, mud, and trenches are real blockers. |
The regulatory point deserves emphasis because it changes project feasibility rather than just efficiency. Drone operations in the EU fall under the EASA regulations (Regulation (EU) 2019/947), which define Open, Specific, and Certified categories with corresponding operator requirements. Beyond visual line of sight operation over a large site generally falls within the Specific category and may require an operational authorization or compliance with an applicable standard scenario. In the US, FAA Part 107 governs commercial small UAS; BVLOS operations generally require FAA approval. A ground robot operating inside a fenced private site does not trigger aviation rules, although other safety and legal obligations can still apply.
Conversely, if the task is “find every module above a given delta-T across 200 hectares before the end of the week,” a UGV is usually the wrong tool. The physics of ground travel may not permit it at the required coverage rate.
The realistic architecture is layered. An aerial sweep provides the coarse anomaly map. A ground platform then visits the flagged locations for close-range confirmation, under-module inspection, and defect classification. This can reduce false positives from pure aerial thermography, since reflections, soiling artifacts, and transient shading can generate thermal signatures that require close-range or electrical confirmation.
What Else Can a Ground Platform Do on a PV Site?
Thermal hot-spot detection is the headline application, but a UGV on a PV site is a mobile sensor carrier, and the marginal cost of adding a second sensor can be low.
Tasks that fit naturally onto the same platform and the same route include:
- Soiling assessment. RGB imaging at consistent distance and angle can support soiling assessment and inform cleaning schedules. Ground-level imaging can capture the lower edge of modules where soiling often accumulates.
- Vegetation monitoring. Grass height encroaching on the bottom module row can cause shading losses and create a fire consideration. A camera or a simple LiDAR height profile can quantify this per row.
- Structural and mechanical checks. Tracker misalignment, accessible loose clamps, corroded fasteners, and damaged torque tubes may be visible from the ground and can be difficult to assess from above.
- Cable and connector inspection. DC string cabling, connector housings, and combiner box exteriors are ground-accessible. Visual inspection can identify damage, poor routing, or obvious deterioration, while electrical tests are needed to diagnose arc-fault risks.
- Environmental logging. Irradiance, ambient temperature, and wind data collected alongside thermal images let you validate whether measurement conditions met IEC 62446-3 requirements, rather than assuming they did.
All of this flows into the same ROS 2 data pipeline. Recording to rosbag2 during a mission gives you a replayable session with synchronized sensor streams and pose, which matters when you want to re-run an improved detection algorithm against last month’s data instead of re-driving the site.
How Do You Prototype This Without Building a Full System?
The sensible path is incremental, and each step produces something testable.
- Start with teleoperation and manual data collection. Drive a platform with a thermal and RGB camera down a few rows under controlled conditions. You learn the actual geometry constraints, standoff distances, and image quality before writing any autonomy code.
- Validate the detection algorithm offline. Use recorded data to tune thresholds and test classification. Getting this right matters more than autonomy, because an autonomous robot producing unreliable detections is worse than a teleoperated one producing good ones.
- Add row-following. Implement corridor extraction and lateral control. Test in a single row with a safety operator.
- Add row-to-row sequencing. Headland turns, row entry, and mission-level state. This is where Nav2’s behavior tree can be useful.
- Add fault handling and recovery. What happens on a lost localization, a blocked path, a low battery mid-row, or a dropped network link. Field robotics is mostly this step.
A development platform matters here because the first three steps are iteration-heavy. An open system where you can mount a different camera on Tuesday, change the compute module on Wednesday, and read the source of every driver shortens that loop considerably. Fictionlab’s team designs the Leo Rover around that assumption, with documented mechanical interfaces, a ROS 2 software stack, and no closed middleware between you and the hardware. For deployments that outgrow the standard configuration – larger payloads, extended endurance, specific environmental sealing – custom robotics development covers platform modification and purpose-built designs.
Frequently Asked Questions
Can a UGV replace drone inspection on a solar farm entirely?
Not on large sites. Ground travel speed and terrain constraints make full-site coverage impractical above a certain area. A solar farm inspection robot is best positioned as the detail and verification layer, with aerial survey providing the coarse sweep. On small, accessible ground-mounted sites, a UGV alone can be sufficient.
What thermal camera resolution do you need for PV defect detection?
It depends on standoff distance and the defect class you are targeting. The governing figure is the number of pixels across a single cell. IEC 62446-3 discusses measurement geometry requirements rather than mandating a specific sensor. From a ground robot at 2-3 m, a 640×512 radiometric core can provide comfortable cell-level resolution; a 320×256 core can be workable for module-level anomalies. Verify the actual IFOV from the manufacturer datasheet rather than relying on resolution alone.
How do you handle GNSS loss between tracker rows?
Do not depend on GNSS for in-row control. Use local perception – LiDAR-based corridor following – for geometric accuracy, and reserve GNSS for row-level topology. Add fiducial markers at row ends for absolute re-localization. This architecture degrades gracefully instead of failing when RTK drops to float.
Does a ground robot work on single-axis tracker sites?
Yes, but with additional considerations. Tracker rotation changes the module plane angle through the day, which affects both the thermal viewing geometry and the available clearance above the robot. Coordinating inspection timing with tracker position, or commanding trackers to a known stow angle during inspection, simplifies the problem considerably. Both require integration with the site SCADA system and approval from the site operator.
What ROS 2 packages are the starting point for this application?
Nav2 for navigation and behavior-tree-based task logic, robot_localization for sensor fusion, apriltag_ros for fiducial-based re-localization, image_pipeline for camera processing, and rosbag2 for data capture. For LiDAR-based row extraction, PCL integration through pcl_ros provides access to point-cloud processing tools, including RANSAC-based plane and line fitting. Most of the custom work sits in the detection node and the row-following controller plugin.
How does vegetation affect UGV inspection reliability?
Significantly. Tall grass can obstruct LiDAR-based corridor detection, increase traction demand, and hide trenches or cable runs. Sites with active vegetation management are far more UGV-friendly. Where vegetation is managed by grazing or periodic mowing, inspection scheduling should follow the mowing cycle.
Is night operation actually useful for PV inspection?
For thermal hot-spot work, no – you need irradiance to drive the thermal signature. For other tasks it can be valuable. Visual inspection with controlled lighting can reduce variable sun glare and shadow, which can make soiling and mechanical-defect imaging more repeatable. Night operation can also avoid conflict with maintenance crews during working hours, provided site safety procedures allow it.
Where to Take This Next
The engineering decisions that matter for a solar farm inspection robot are sensor geometry, localization architecture under GNSS degradation, and realistic scoping of what ground coverage rates allow. Get those three right and the rest is integration work.
To see how Fictionlab approaches UGV-based inspection deployments and what platform configurations fit different site conditions, visit Fictionlab’s inspection applications page.