基于Jetson Nano的陆空两栖森林火灾侦察机器人设计
2021-08-05殷佳炜赵晨曦曹海平傅怀梁
殷佳炜,赵晨曦,张 帆,王 硕,曹海平,傅怀梁
(南通大学 张謇学院,江苏 南通 226000)
中国是全球森林资源增长最多的国家,森林防火是极为重要的课题。我国的森林地域广阔、地形复杂,人工巡逻方式远不能满足护林要求,因此,森林侦察逐渐向自动化迈进[1]。传统履带式或轮式侦察机器人移动速度慢、功率消耗高,不能快速到达事故现场进行调查,加之林间复杂环境又使消防无人机移动受限增多,因此,陆空两栖森林火灾侦察机器人应运而生。本文基于Jetson Nano开发板,设计一款用于森林火灾侦察的陆空两栖机器人,以实现自主定位、避障、侦察等功能,并通过实验验证其设计的合理性。
1 系统总体构建
1.1 系统设计方案
如图1所示,陆空两栖机器人[2]主要由主控模块、外部感知模块、内部感知模块、飞行控制模块和地面控制模块等组成[2]。
图1 陆空两栖机器人总体结构方案
1.2 系统硬件结构设计
1.2.1 机械结构设计
考虑森林环境的复杂性,以及陆空两栖机器人的安全性、灵活性等要求,飞行部分采用旋翼结构,地面部分采用轮式结构。旋翼结构具有灵活度高、起飞降落自由的优势,更适用于复杂环境下机器人的运动。轮式结构由于采用了橡胶轮胎及相关的悬挂装置,具有良好的缓冲、减震性能,且比履带式结构行驶速度更高、机动性更好。陆空两栖机器人机械结构的三维视图如图2所示。
图2 陆空两栖机器人三维视图
1.2.2 主控模块
在复杂的森林环境中,由于视野受限,操作手并不能很好地进行操作。陆空两栖机器人要在操作手的辅助操控下自主完成移动,就需要处理器拥有快速强大的运算能力。Jetson Nano开发板是Jetson系列中最小型的设备,但性能非常强大,具备472 GFLOPS的运算能力,能使无人机搭载目标检测算法和三维建模算法。因此,系统设计选择Jetson Nano处理器作为主控模块。
1.2.3 外部感知模块
(1)选用IMX219-170单目摄像头,其配备索尼IMX-219感光芯片,可达800万像素,170°视场角,广泛应用于图像识别的AI智能研究。
(2)选用RPLIDAR A2 360°激光扫描测距雷达,采用激光三角测距技术,测量半径为12 m,采样频率高达8 000次/s,其在自主构建地图、实时路径规划、自主避障等方面具有很好的性能。
(3)双目相机选用Intel T265跟踪摄像头,搭载BMI055 IMU(惯性测量单元)和两个鱼眼镜头。可精准测量侦察机器人的旋转角速度和加速度,实现机器人跟踪,并将数据提供给环境感知模块,实现高精度视觉惯性测距,同时进行定位和映射。
1.2.4 内部感知模块
(1)惯性测量单元(IMU)包括三个单轴的加速度计ICM-20699和三个单轴的陀螺仪BMI055,实时获取侦察机器人在三维空间中的角速度和加速度,并由此解算机器人的姿态。
(2)气压计选型为MS5611,高度分辨率为10 cm,几乎可与任何微控制器连接,无须在器件中编程内部寄存器,具有非常低的滞后性,以及高稳定性的压力、温度信号。
1.2.5 地面控制模块
地面控制模块选用Arduino Mega2560核心板,具有54路数字输入输出,适合需要大量IO口的设备。其具有三种供电模式,在智能机器人、智能无人机、智能家居等领域均有广泛应用。
1.2.6 飞行控制模块
飞行控制模块选用具有“开源飞控之王”美誉的Pixhawk4,其上搭载基于STM32F765的FPU处理器与基于STM32F100的IO处理器。
2 软件算法设计
2.1 飞行控制算法
飞行控制部分采用双飞行控制系统。核心飞行控制系统将陀螺仪、加速度计、磁力计等模块获取的数据进行实时解算,得到姿态角数据并反馈至飞行姿态控制环,将期望角度与实际角度作差,通过比例、积分、微分等环节得到期望角速度,再与陀螺仪获得的实时角速度作差,再次经过比例、微分和积分环节,增强系统的稳定性。最终计算出合适的波形信号,以控制电机转速,实现姿态的稳定及各种姿态变化的运动,其控制流程如图3所示[3]。
图3 飞行姿态控制流程
2.2 地面控制算法
由于机器人在行进过程中情况复杂,采用传统的PID算法难以准确控制。模糊PID算法采用模糊算法对PID参数进行实时调节,以满足不同复杂情况下的灵活控制,具有良好的适应能力。模糊PID自适应整定曲线具有极小的超调量,且能在极短的响应时间内达到目标值。因此,使用模糊PID算法进行地面控制,流程如图4所示。
图4 模糊PID控制流程
2.3 环境感知算法
机器人在复杂的森林环境中进行侦察,操作手仅依靠图传系统和GPS(全球定位系统)进行远程控制,受视野所限往往不能准确操作,因此,要求机器人具有环境感知能力。目前,广泛应用的SLAM[4](即时定位与地图构建)技术分为视觉SLAM和激光SLAM。由于火灾环境中光照复杂,且时常伴随浓烟,环境昏暗,视觉信息不明显,所以使用激光SLAM技术更合适。
陆空两栖机器人采用cartographer框架,实现激光雷达SLAM,为机器人提供环境信息,其总体结构如图5所示。其中:激光雷达SLAM测量周围360°范围内物体到机器人的距离信息;IMU输出角速度和加速度,主要用于融合和修正数据。将激光雷达扫描数据和IMU积分数据融合,可得到无人机的X轴、Y轴方向和偏航角;地红外数据与IMU融合,可获得高度信息。数据经融合与修正可使机器人获得更精确的角速度、加速度、位置和方向等环境感知信息,再将此信息发送至飞行控制器或地面控制器,进行实时导航。
图5 激光SLAM算法总体结构
2.4 避障算法
本文避障算法采用人工势场法[5]。人工势场包括引力场和斥力场。引力场由目标点确定,产生假想引力,引导机器人向目标方向行进,引力的计算方式如式(1)。
其中:dg为感知直径,是为防止目标离机器人过远时导致引力过大而设定;xgoal-x为机器人与目标之间的距离;∊a为近距离引力系数;∊b为远距离引力系数。
斥力场由障碍物确定,沿最近障碍物的切向产生假想斥力,排斥机器人向障碍物方向行进,斥力的计算方式如式(2)。
其中:Qj表示安全距离,即需要采取避障算法的距离;dj(x)表示第j个障碍物与机器人的距离;ρj表示第j个障碍物的斥力系数。
将两力通过算法叠加后,为机器人规划出最佳路径,以提高追踪监测的效率,从而完成自主避障追踪。
当机器人移动的环境非常复杂或者进入了封闭环境,在某一点引力斥力和速度很小,即处于局部最小点时,会导致机器人在该点停止或在该点周围振荡。为解决此问题,引入了绕行机制,其避障算法结构如图6所示。
图6 避障算法总体结构
绕行阈值为一个很小的正数,当合速度小于绕行阈值时,机器人即进入了局部最小点,将沿斥力场等势面移动绕行,并判断是否到达目的地,若是就退出算法,否则重新计算合速度。
2.5 火情检测算法
YOLO系列是先进的目标检测算法。YOLOv4是YOLO系列的第四代,其通过各种调优手段,实现了精度和速度的平衡,提升了网络的性能。YOLOv4-tiny是基于YOLOv4的压缩版本,大大减少了参数,更适用于移动端的部署。本文选用YOLOv4-tiny作为火情检测模型。火情检测算法流程如图7所示。具体检测识别流程是:采集火情图像,建立数据集;将数据集输入YOLOv4-tiny模型并进行训练,得到检测模型;机载摄像头对环境逐帧拍摄并将视频帧逐帧输入机载处理器,经YOLOv4-tiny模型检测识别火情。
图7 火情检测算法整体流程
3 系统测试与分析
3.1 火情检测测试
为测试上述火情检测算法的可行性,随机抽取火情图像进行识别,结果如图8所示。
图8 火情检测算法识别效果
在机载处理器Jetson Nano上使用自制的火情数据集对各模型进行测试,结果如表1所示。由表1可见,YOLOv4-tiny能实现实时检测,且拥有不错的准确率。
表1 不同模型的检测结果对比
3.2 实物测试
为验证系统的可实施性,集成上述硬件和软件系统制成实验样机如图9,并在较为复杂的迷宫中进行实验测试。
图9 实物测试样机
为机器人规划路径,测试其运动轨迹如图10所示。由图10可知,设计的陆空两栖机器人在系统控制下能较好地修正误差,完成规划的运动路径,具有较好的精度。
图10 机器人样机运动轨迹
系统建模实验结果如图11。由图11可知,陆空两栖机器人在较为复杂的地形中完成了巡航侦察任务,并且规避了无法行驶的死角,达到预期效果。
图11 系统建模实验结果
4 结 语
以Jetson Nano为核心处理器,集成了无人机与无人车的优势与特点,设计了用于森林火灾侦察的陆空两栖机器人。实验表明,该机器人能实现自主定位、避障、侦察等功能,达到预期控制效果。制作样机,并通过实验验证了其设计方案的合理可靠性。