1.一种基于RGB‑D的实时避障系统,其特征在于,所述系统包括:图像采集模块、标定模块、普通障碍物检测模块、特殊障碍物检测模块、验证模块、避障决策模块和移动控制模块;
所述图像采集模块用于采集RGB‑D相机原始的深度信息以及障碍物的RGB信息并分别输出给标定模块、普通障碍物检测模块和特殊障碍物检测模块;
所述标定模块用于获取图像采集模块得到的深度信息来标定地面背景和标定相机安装角度,以获取地面深度信息以及相机安装角度信息;
所述普通障碍物检测模块用于处理图像采集模块输出的深度信息和RGB信息,提取出障碍物并经过验证模块进行二次判断,确保障碍物是真的障碍物而不是误检测,最终精准检测出障碍物并输出障碍物的位置信息;所述普通障碍物检测模块包括预处理模块、轮廓提取模块和障碍物坐标输出模块;
所述预处理模块包括以下步骤:
步骤2‑1:从图像采集模块获取连续的三张深度图;
步骤2‑2:对获取的三张深度图进行两倍下采样以及形态学膨胀处理;
步骤2‑3:三张深度图分别在设定ROI区域与标定的地面背景信息做差,满足差值阈值的点的数值设置为255,不满足阈值的点的数值设置为0;
步骤2‑4:抽取第二张深度图命名为二值图P1,将三张深度图叠加在一起得到二值图P2;
步骤2‑5:对得到的二值图P1和二值图P2进行形态学闭操作处理;
所述轮廓提取模块包括以下步骤:
步骤3‑1:分别计算二值图P1和二值图P2中障碍物的轮廓以及凸包信息;
步骤3‑2:分别计算二值图P1和二值图P2中的凸包面积和凸包中心的像素位置,依据凸包中心像素所在区间的不同设置不同的面积阈值过滤阈值以下的凸包;
步骤3‑3:计算凸包中心像素在水平深度相机坐标系下的Y值与保存的地面信息中相同像素点Y值,对小于地面Y达到一定阈值的凸包进行保留反之进行滤除;
所述障碍物坐标输出模块包括以下步骤:
步骤4‑1:计算步骤3‑2滤除后剩余凸包的最小外接形框;
步骤4‑2:去除重叠的矩形框,合并连接的矩形框;
步骤4‑3:当存在多个矩形框时,只保留矩形框内深度平均值最小的矩形框;
步骤4‑4:将深度图上矩形框映射到RGB图中;
映射公式如下:
其中Zd是在(ud,vd)像素点上的深度值; 是深度图像素点(ud,vd)在深度相机坐标系下的三维坐标; 是像素点(ud,vd)在RGB相机坐标系下的三维坐标;(uc,vc)是 在RGB图像上的像素坐标;R和T分别是深度摄像头到RGB摄像头的旋转矩阵和平移矩阵;Kd是深度相机内参矩阵,Kc是RGB相机的内参矩阵;
步骤4‑5:计算矩形框的面积,将面积大小满足阈值条件的RGB内的矩形框送入验证模块,验证是地面还是障碍物;
步骤4‑6:如果验证模块输出为0,表示判断矩形框内物体为非障碍物则返回步骤4‑1,如果输出1表示矩形框内是障碍物则执行下一步骤4‑7;
步骤4‑7:计算障碍物矩形框中的每个像素点在水平深度相机坐标系下X坐标轴上的值,去除掉X坐标轴上数值在阈值范围之外的像素点,在剩余像素点中找到障碍物的最近距离,并输出给避障决策模块;
所述特殊障碍物检测模块用于根据图像采集模块输出的深度信息和RGB信息,检测出行人和其他机器人,并输出障碍物位置信息;
所述避障决策模块用于处理普通障碍物检测模块与特殊障碍物检测模块输出的障碍物位置信息生成避障策略;
所述移动控制模块用于根据避障决策模块输出的避障策略控制机器人的移动实现避障功能。
2.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:所述RGB‑D相机安装在移动搬运机器人的顶部,相机倾斜角度保证相机视野范围内看不见机器人车体的任何部位。
3.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:实时避障系统采用多线程技术,模块之间并行计算且根据移动搬运机器人运行速度自动调整检测帧率。
4.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:所述的标定模块获取地面深度信息与相机安装角度信息,包括以下步骤:步骤1‑1:使RGB‑D相机面对一块平整的地面,通过图像采集模块获取相机深度信息;
步骤1‑2:开始标定相机安装角度,随机选取深度图中部的四个像素值,转换求出像素点对应的深度相机坐标系下的Y值;
步骤1‑3:从0开始选择相机安装角度每次递增1度直到180度结束;
步骤1‑4:通过相机安装角度计算四个像素点在水平深度相机坐标系下的Y值;如果四个像素点的Y之间的差值的绝对值在阈值范围之内,保存角度否则返回步骤1‑2,其中水平深度相机坐标系由深度相机坐标系绕坐标系原点旋转至Z轴与地面平行得到;
步骤1‑5:标定角度结束开始标定地面背景信息;
步骤1‑6:获取深度图,经过阈值滤波以及孔洞填充方法,限制数值超过7000的深度值,填补数值为零的深度值为深度数值上限;
步骤1‑7:统计600帧处理以后的深度图,计算每个像素点深度值的均值,每个像素点对应水平深度相机坐标系下的Y值以及每一行像素中像素点的最大差值并分别进行保存。
5.根据权利要求4所述的一种基于RGB‑D的实时避障系统,其特征在于,步骤1‑2与步骤
1‑4计算四个像素点在水平深度相机坐标系下的Y值的具体计算过程如下:其中 是深度相机内参矩阵用于将相机坐标系转换到像素坐标系,(fx,fy)代表将相机坐标系与成像平面的关系,代表了u轴与v轴上的缩放,(Cx,Cy)是相机光学中心,θ是相机的安装倾斜角, 是在深度图像上像素点(ud,vd)在水平深度相机坐标系下的三维坐标;zd是在(ud,vd)像素点上的深度值。
6.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:所述验证模块的处理过程包括:步骤5‑1:加载训练好的ghost二分类模型,利用TensorRT构建推理引擎,保存引擎并用c++加载并部署引擎;
步骤5‑2:当有图像数据送入时,利用引擎进行推理判断如果判断为非障碍物输出0,反之判断为障碍物输出1。
7.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:所述特殊障碍物检测模块检测障碍物包括以下步骤:步骤6‑1:加载训练好yolov5模型,经TensorRT推理构建推理引擎,并保存引擎;
步骤6‑2:加载并部署引擎,接收图像采集模块的RGB图像进行推理;
步骤6‑3:获取推理后得出的在RGB图像中目标矩形框左上角像素坐标以及长宽;
步骤6‑4:将RGB像素转换到深度图像素,获取矩形框内的像素值在深度相机坐标系下的三维坐标;
步骤6‑5:去除水平深度相机坐标系下X轴上数值不满足阈值的像素点,在剩余的像素点中经过滤波得到障碍物点在深度相机坐标系下的三维坐标并输出给避障决策模块。
8.根据权利要求1所述的一种基于RGB‑D的实时避障系统,其特征在于:所述避障决策模块分别对普通障碍物与特殊障碍物检测模块设置有不同避障范围,同时在避障范围内划分三个避障等级区域;一级避障减速30%,二级避障减速60%,三级避障直接停止。
9.根据权利要求8所述的一种基于RGB‑D的实时避障系统,其特征在于:所述避障决策模块处理避障信息做出避障决策,具体过程如下:步骤7‑1:接收普通障碍物检测模块与特殊障碍物检测模块输出的障碍物坐标信息;
步骤7‑2:如有障碍物出现在三级避障区域同时处理普通障碍物检测模块与特殊障碍物检测模块输出的障碍物信息,如障碍物出现在一级或二级避障区域,那么优先处理特殊障碍物检测模块输出的障碍物信息;
步骤7‑3:对障碍物的距离信息进行中值滤波和限幅滤波处理;
步骤7‑4:根据最终处理后得到的障碍物距离信息判断障碍物处于三个等级避障区域中的哪一块区域,根据障碍物所在区域判定使用相应的避障策略并将策略输出到运动控制模块控制移动搬运机器人执行避障碍策略,最终实现避障功能。