采用树莓派和Lepton 3.5的构建一个7英寸自主无人机
在动态热环境中,传统的光学计算机视觉系统无法正常工作。当无人机扫描地形时,热成像相机的自动增益控制会不断改变图像基线,导致基于亮度的传统轮廓检测失效。
AeroTherm完全跳过视觉追踪环节,直接从FLIR Lepton 3.5获取原始辐射热数据,并对每个像素的绝对温度进行评估。一旦目标超出开发者设定的阈值,系统将自动记录坐标位置,绘制不同严重程度的边界框,并将图像帧保存至机载SD卡中。
AeroTherm 的自主性分为两个独立层次:飞行动力学和计算负载。
飞行自主性:PixHawk 6C 飞行控制器负责实际的飞行操控。通过使用 Holybro GPS M8N 和 TF-Luna LiDAR,无人机可执行预编程的 GPS 路点任务、自动网格扫描以及精确高度保持,而无需 RadioMaster 发射器主动输入操纵杆信号。
负载自主性:运行在 Raspberry Pi 3 A+ 上的热成像管道完全以后台服务形式无交互地运行,无需人工操作员监控实时视频流或手动按下快门按钮。Python 脚本以 26Hz 的频率持续处理热成像数据,并在检测到设定阈值时自动决定将图像记录到 SD 卡中。
放射性
标准热成像仪输出的是相对的、视觉压缩的数据。它们会显示一张图像,其中最亮的像素代表该特定画面中温度最高的物体。如果将一个25°C的物体置于冷冻环境中,它看起来会像白炽一样发亮;而当100°C的物体进入画面时,相机的自动增益会自动调整,导致原本25°C的物体突然变为黑色。因此,无法可靠地根据相对视觉数据触发警报。
FLIR Lepton 3.5 是辐射测温型设备,它不仅输出视觉热图,还输出一个包含每个像素绝对温度值(单位为厘开尔文)的16位数组,且这些数值已通过工厂校准完成。
由于传感器提供的是绝对数据,Python脚本可以精确计算出画面中每个物体的实际摄氏度温度。例如,一个人体温度为36°C时,系统始终会准确读取为36°C,确保无论背景环境如何变化,您的THRESHOLD_CONFIG检测逻辑始终保持稳定和数学上的准确性。
这种架构支持关键的现场作业需求:
•搜救(SAR):在茂密的森林冠层中隔离36°C的人体热信号,或在野火清理行动期间识别残留的100°C以上的热点区域。
•工业巡检:对太阳能电站或变电站进行自动化常规扫查,提前发现故障设备和电弧放电,防止发生灾难性故障。
•开发者试验场:为任何需要高精度空中热异常检测的应用提供强大且可修改的Python数据处理流程。
硬件平台
由于重力始终是决定因素,搭载专用Linux计算节点与VoSPI热传感器飞行时需要较大的推力。该系统完全摆脱了250g以下的子级别,整体满载重量(AUW)达到1588g。
推进与飞行控制:
•机架:Mark 4型7英寸(295毫米轮距,5毫米碳纤维臂)。
•电机:iFlight XING 2806.5 1800KV(Unibell,24V输入)。
•飞行控制器:PixHawk 6C搭配Holybro Tekko32 45A电子调速器(ESC)。
•电源:Teranty 5200mAh 60C锂聚合物电池,通过Matek 12s BEC稳压,以稳定供电给5V有效负载。
热成像计算负载
•处理器:Raspberry Pi 3 A+(相较于4B更轻便,同时仍具备执行26Hz OpenCV操作所需的足够计算能力)。
•传感器:搭载PureThermal VoSPI扩展板的FLIR Lepton 3.5。
•外设:用于精确高度保持的TF-Luna LiDAR,以及用于地理空间记录的Holybro GPS M8N。
辐射计量软件流程
核心逻辑在树莓派上以无头Python守护进程(thermal_node.py)运行。该脚本提取16位VoSPI数组,并应用标准转换,生成精确的摄氏度矩阵。
与传统方法不同,AeroTherm不再依赖图像中亮度像素的随机比例来定位目标,而是根据用户配置的THRESHOLD_CONFIG字典,严格构建环境的二进制掩码。
Python
当检测到异常时,脚本会将160x120原始传感器阵列的坐标映射到缩放后的640x480输出帧上,并在执行本地化捕获前应用相应的彩色边界框和温度读数。
解决硬件同步问题
Lepton 3.5 在脚本意外终止时,常会导致SPI总线卡顿。AeroTherm 采用严格的 try/except/finally 架构,将其封装在多线程捕获类中。这确保了即使在崩溃情况下,VoSPI文件描述符也能优雅释放,从而无需在操作之间强制重启无人机。
验证
bench测试证实,该管道能够动态地对单个框架中的多个独立热源进行分类。其绝对温度逻辑成功识别出36.2°C的目标(升高),同时监测到61.4°C的热源(警告),并完全忽略环境背景辐射。
趣味组装图片:
本文编译自hackster.io





