Thermal Cameras on Robots: Use Cases, Limitations, and ROS 2 Integration
Adrian Krzemiński,

TL;DR: Thermal cameras on robots let you see heat signatures that visible-light cameras miss: failing PV modules, overheating electrical contacts, body heat in smoke or darkness. For mobile robotics, the dominant sensor families are FLIR Lepton (compact, low cost, 80×60 or 160×120 px) and FLIR Boson (up to 640×512 px, longer range, higher dynamic range). Lepton streams over SPI or USB via carrier boards, while Boson typically uses USB, CMOS, or MIPI CSI; both can publish into ROS 2 as sensor_msgs/Image and fuse with RGB and lidar. Limitations matter: thermal cameras measure apparent temperature, not absolute; emissivity, reflections, sun loading, and rain skew readings. This article explains where thermal sensing earns its place on a UGV, what it cannot do, and how to wire it into a ROS 2 stack on a platform like Leo Rover.
Why put a thermal camera on a mobile robot?
A thermal camera on a robot turns invisible heat gradients into actionable maps. In field robotics, that capability solves problems no RGB camera or lidar can touch: detecting a hot junction box at night, finding a person under forest canopy, or scanning a 2 MW solar farm for hotspots without a human walking every row. The thermal camera robot use cases that justify the integration cost almost always share one trait: the target signal is a temperature delta, not a shape or color.
Thermal imagers are passive long-wave infrared (LWIR) sensors, typically 8-14 µm. They do not need illumination. They can see through some smoke, light fog, and complete darkness. They do not see through glass or water, and most common plastics are opaque or strongly attenuating in LWIR, which is a frequent source of integration mistakes.
What thermal cameras measure (and what they do not)
An uncooled microbolometer measures radiated power across each pixel and estimates an apparent temperature based on an assumed emissivity (often 0.95 by default). Several factors distort the reading:
- Emissivity: polished aluminum (≈0.05) looks cold even when hot. Painted steel (≈0.9) reads accurately.
- Reflections: shiny surfaces mirror the sky or nearby hot objects.
- Atmospheric attenuation: humidity and rain reduce contrast, especially beyond 30-50 m for small targets.
- Sun loading: dark surfaces in direct sun heat up regardless of internal condition, masking electrical faults.
- Solar reflection on PV glass: scans should be done from an angle that avoids specular returns from the sun.
If you need radiometric accuracy, you need a sensor that outputs per-pixel temperature (radiometric Lepton, radiometric Boson variants) and a calibration workflow. Non-radiometric models give you relative thermal images useful for detection but not for absolute measurements.
FLIR Lepton vs Boson: which fits your robot?
Two Teledyne FLIR families dominate small-robot integrations. The table below summarizes the practical differences based on publicly available FLIR datasheets.
| Spec | Lepton 3.5 | Boson 640 |
| Resolution | 160 x 120 | 640 x 512 |
| Spectral band | 8-14 µm | 7.5-13.5 µm |
| Frame rate (export) | ~8.7 Hz | up to 60 Hz, SKU/export dependent |
| Radiometric output | Yes | Yes (radiometric SKUs) |
| NETD (sensitivity) | <50 mK | <50 mK |
| Typical interface | SPI / USB via PureThermal | USB / CMOS / MIPI CSI |
| Power | ~150 mW | ~500 mW |
| Form factor | ~10.5 x 11.7 x 6.4 mm | ~21 x 21 x ~30 mm, lens dependent |
| Typical use | Short-range inspection, indoor SAR, payload-limited UGVs | Long-range detection, PV farms, outdoor SAR |
Lepton is the pragmatic choice when payload, power, and budget dominate. Boson earns its place when you need to resolve a hotspot from 10+ meters or scan large areas quickly.
Use case: PV farm inspection
Photovoltaic modules fail in patterns thermal cameras read well: bypass diode failures, cracked cells, and disconnected strings show as warmer regions, often 5-20 K above the panel baseline. A ground robot equipped with a Boson-class camera and RTK GNSS can survey a row at 1-2 m/s, geotag every frame, and flag anomalies for ground-truth follow-up.
Practical constraints for PV scans include scanning under at least 600 W/m² irradiance for fault contrast, holding the camera at a 60-90 degree angle to the panel surface, and avoiding specular sun reflections. A UGV like the Leo Rover handles row-to-row traversal on packed gravel; for soft soil or steeper terrain, a tracked platform is more appropriate. More on this class of work is covered under inspection applications.
Use case: electrical and industrial inspection
In substations, switchgear rooms, and motor halls, a loose connection or failing bearing radiates heat long before it fails. A robot doing routine rounds with a thermal camera and an RGB camera can compare current readings against a baseline thermal map. Maintenance programs often use severity bands based on temperature rise above ambient or above similar loaded components, with differences of roughly 10-20 K commonly treated as actionable depending on load, component type, and site rules.
Robots fit this work because the readings need to be repeatable: same pose, same time of day, same load. A teleoperated or autonomous UGV gives you that repeatability and removes humans from energized environments. Fictionlab’s notes on industrial applications cover the broader pattern.
Use case: search and rescue (SAR)
SAR is where thermal imaging shows its highest value-per-pixel. A human heat signature against a 10 °C forest floor can stand out clearly, even at low resolution. A Lepton-class sensor on a small UGV can detect a person at 10-15 m in clear conditions; a Boson 640 extends that to 50-100 m depending on optics. Combined with autonomous waypoint navigation and a Wi-Fi or LTE uplink, a fleet of small rovers can sweep areas where drones are impractical or restricted, with longer endurance but lower area coverage speed than aerial platforms.
Limitations to plan for: wet clothing reduces signal, dense foliage blocks it, and recently sun-warmed rocks produce false positives. Combine thermal with RGB and a person-detection model trained on both modalities.
How do you integrate a thermal camera into ROS 2?
The integration path depends on the interface. For Lepton on a PureThermal carrier or Boson over USB, the camera enumerates as a UVC device and works with v4l2_camera or libuvc_camera in ROS 2. The node publishes sensor_msgs/Image; you then apply a colormap (using cv_bridge + OpenCV) for visualization and keep the raw 16-bit frame for processing.
A minimal pipeline for a Leo Rover with a Lepton on PureThermal Mini looks like this:
- Bring up the camera with
v4l2_camera_node, pixel formatY16for radiometric output. - Republish a colorized 8-bit version on a separate topic for RViz or web UIs.
- Calibrate intrinsics with
camera_calibrationusing a heated checkerboard (a printed target backed by a warm surface, or an emissivity-patterned aluminum board). - Publish a static transform from
base_linktothermal_optical_frameso detections project into the robot’s map. - For radiometric processing, convert TLinear radiometric output to Kelvin using the FLIR-documented scaling (for Lepton TLinear mode this is typically
T_K = raw * 0.01) and republish as a custom message or encode in32FC1.
Fusing thermal with RGB is straightforward once intrinsics and extrinsics are known. Use image_pipeline for rectification and a small custom node to overlay thermal detections onto the RGB stream. For mapping hotspots, project thermal pixels onto a point cloud from a depth camera or lidar using depth_image_proc-style logic adapted to your sensor pair.
What are the real limitations on a UGV?
Beyond physics, the practical limits on a mobile robot are mechanical and procedural:
- Vibration: microbolometers tolerate vibration well but motion blur and rolling platform motion degrade imagery at low frame rates. Lepton’s ~8.7 Hz export rate limits useful ground speed to roughly 0.5-1 m/s for sharp imagery.
- Window contamination: dust, water droplets, and bug strikes on the LWIR lens or protective window destroy contrast. Plan for cleaning access.
- Field of view trade-off: Lepton’s ~57 degree HFOV is wide but resolves few pixels on target at distance. Boson with a 14 mm lens gives ~32 degree HFOV with much better pixel-on-target.
- Thermal drift: uncooled sensors perform flat-field correction (shutter click) every few minutes. Plan data capture around it or use a shutterless variant.
- Export controls: higher-resolution and high-frame-rate thermal cores can fall under EAR and, in some cases, ITAR controls. Confirm export status before shipping internationally.
FAQ
Can a thermal camera replace a lidar for obstacle avoidance?
No. Thermal cameras give you 2D intensity data without range. They complement lidar and depth cameras but do not measure geometry. Use them for detection and classification, not for navigation primitives.
Do you need a radiometric model for inspection work?
For absolute temperature measurements (PV diagnostics, electrical thresholds), yes. For detection tasks like SAR or “is something abnormally hot,” a non-radiometric camera with relative contrast is enough.
How far can a Lepton-class thermal camera detect a person?
In open terrain with clear air, detection is realistic at 10-15 m. Recognition (telling a person from an animal) needs more pixels on target and typically caps at 5-8 m with a Lepton. Boson 640 extends both ranges by roughly 4-5x with appropriate optics.
Does rain or fog block thermal imaging?
Light fog and some smoke pass LWIR well. Heavy rain, dense fog, and snow attenuate the signal and cool surfaces, reducing contrast. Performance degrades gradually rather than failing outright.
What ROS 2 distributions support FLIR Lepton and Boson out of the box?
Both work with v4l2_camera on supported ROS 2 distributions such as Humble, Jazzy, and Kilted via UVC. PureThermal carriers expose Lepton as USB video. Boson supports USB, CMOS, and MIPI CSI depending on configuration. Community drivers (flir_boson_usb, flir_lepton_ros ports) exist but the generic V4L2 path is usually the most maintained.
Can you calibrate a thermal camera with a normal checkerboard?
Not directly: a printed paper checkerboard has little thermal contrast. Use a heated target (warm metal plate behind a stencil) or a board with alternating high- and low-emissivity squares. The ROS 2 camera_calibration tool then works as with any monocular camera.
Is it worth combining thermal with RGB rather than choosing one?
For most inspection and SAR tasks, yes. RGB gives you context and human-readable detail; thermal gives you the fault signature. Co-registered streams enable detection models that use both modalities, which significantly reduce false positives.
Where to go next
If you are scoping a thermal-equipped UGV for solar, electrical, or facility inspection, the patterns above are a starting point, not a recipe. Sensor choice, optics, robot speed, and lighting all interact with the specific fault you are trying to find. Explore Fictionlab’s inspection applications page for platform configurations and field-tested integration notes.