CN114661051A - 一种基于rgb-d的前置避障系统 - Google Patents
一种基于rgb-d的前置避障系统 Download PDFInfo
- Publication number
- CN114661051A CN114661051A CN202210340720.7A CN202210340720A CN114661051A CN 114661051 A CN114661051 A CN 114661051A CN 202210340720 A CN202210340720 A CN 202210340720A CN 114661051 A CN114661051 A CN 114661051A
- Authority
- CN
- China
- Prior art keywords
- obstacle
- module
- camera
- depth
- obstacle avoidance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 claims abstract description 79
- 238000012795 verification Methods 0.000 claims abstract description 23
- 238000009434 installation Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 26
- 230000004888 barrier function Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 17
- 230000000007 visual effect Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 230000003287 optical effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 7
- 238000012800 visualization Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 108091006146 Channels Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于RGB‑D的前置避障系统。生产者模块用于获取环境的深度图像以及RGB图像;标定模块用于获取标定的背景图、阈值文件和相机安装角度信息;消费者模块用于障碍物检测并输出障碍物距离信息,总共分为以下三个子模块:普通障碍物检测模块用分割出低矮的与明显的障碍物并输出障碍物的位置信息;验证模块用于二次判断障降低误检测;优先障碍检测模块用于检测人与其它移动机器人;避障决策模块用于处理普通障碍物检测模块与优先障碍物检测模块输出的信息做出相应的避障策略;运动控制模块用于控制机器人的移动实现避障功能。本发明的前置避障碍系统具有功能完善、运行可靠、检测精度高、能检测不同优先级障碍物等优点。
Description
技术领域
本发明涉及图像识别和移动机器人的技术领域,具体涉及一种基于RGB-D的前置避障系统。
背景技术
当前智能无人化叉车搬运机器人正在不断的走进现实,加速了工业自动化的进程也带动了周围产值的增加,智能无人化叉车搬运机器人有着巨大的实际价值以及应用潜力。在智能无人化叉车搬运机器人的实际运行过程中会面临各种复杂的动态环境,如何保证机器人在执行任务运行器件的安全性是机器人能够完成任务的前提。特别的对于人以及其他移动机器人等关键性障碍物需要格外注意以防止发生严重的安全事故。在现有的技术下,避障通常依靠激光雷达以及超声波雷达等传感器。然而激光雷达造价昂贵,超声波雷达更是无法检测到障碍物的大小具有很大的局限性。
相对于激光雷达、超声波等传感器视觉相机价格低廉,同时RGB-D相机具有更加广阔的视界,可以获取空间范围内的信息,帮助机器人更好的感知周围的环境。同时,本专利选取的RGB-D相机工作原理为主动结构光测距,能够在光线不佳的环境下获取高质量的深度图。但是,有车光照的动态变化以及车体的抖动,使得视觉障碍物检测误检率高,同时视觉障碍物检测容易受到外界环境影响误检测率高,且无法检测出较小的障碍物,无法保障机器人前行的安全性,所以需要提供一种基于RGB-D相机的前置避障系统以确保机器人的安全运行。
发明内容
在现有的复杂工厂环境下,针对现有移动机器人未考虑空间障碍物与易受外界影响导致检测误检率高无法检测较小障碍物的问题,本发明实施提出了一种基于RGB-D的前置避障系统。
本发明的目的是通过以下技术方案实现的:一种基于RGB-D的前置避障系统,所述系统包括:生产者模块、标定模块、消费者模块、避障决策模块和运动控制模块;
所述生产者模块用于配置RGB-D相机并获取到周围环境的深度图像以及RGB图像,并将深度图像预处理后输出给标定模块以及消费者模块;
所述标定模块用于利用预处理后的深度图像对地面以及相机安装角度进行标定,最后得到相机的安装角度以及深度背景图像;
所述消费者模块用于根据预处理后的深度图像以及RGB图像检测出当前环境中的障碍物并得到障碍物的三维坐标信息;具体包括普通障碍物检测子模块、优先障碍物检测子模块和验证子模块;所述普通障碍物检测子模块不区分障碍物的类型,对所有出现在视野内的障碍物进行检测;所述优先障碍物检测子模块用于通过神经网络对行人及其它移动机器人进行检测识别,所述验证子模块用于对普通障碍物检测子模块检测到的障碍物进行二次识别。
所述避障决策模块用于根据消费者模块的不同障碍物的三维坐标信息以及优先级选择合适的避障策略;
所述运动控制模块用于根据避障决策模块输出的避障策略控制机器人的移动实现避障。
进一步地,所述RGB-D相机为Intel Realsense D435相机,相机安装在移动搬运机器人的顶部,相机倾斜角度保证相机视野范围内看不见机器人车体的任何部位。
进一步地,所述生产者模块对深度图像进行预处理的具体过程为:对原始深度图像进行两倍下采样处理,然后将深度帧转换到视差帧,并通过使用空间过滤和时间过滤后,再将视差帧转换到深度帧,最后得到处理后的深度图。
进一步地,所述的标定模块对相机安装角度信息进行标定,具体过程如下:
1):使RGB-D相机面对一块平整的地面,在生产者模块中获取到相机的深度信息;
2):开始标定相机安装角度,定义深度相机坐标系的Z轴为相机正前方,X轴为相机右方,Y轴为相机下方;选取深度图像靠近车体部分区域的随机的三个像素值,利用坐标转换关系计算出三个像素点在深度相机坐标系下的三维坐标;
3):以水平向下30度开始,相机安装角度θ以每次递增1度逐渐递增至90度结束。
4):通过相机安装角度θ将像素点在深度相机坐标系下的三维坐标转换为水平深度相机下的三维坐标;相互比较三个像素点在水平深度坐标系下Y轴的绝对值,绝对值均在5mm以内,保存角度否则返回步骤2),其中水平深度相机坐标系由深度相机坐标系绕坐标系原点旋转至Z轴与地面平行得到。
进一步地,所述的标定模块对地面进行标定,具体过程为:首先获取若干张预处理后的深度图像,对深度图中值超过阈值KMAX的像素点的值统一设置为KMAX,对深度图像中值为0的像素点会进行领域扫描填充像素值。计算像素点深度值的均值并保存为背景图像,将这些深度图像与背景图像进行比较得到每一个像素点的最大偏差,并将最大偏差保存为阈值文件。
进一步地,普通障碍物检测子模块的障碍物检测过程如下:
1):获取连续三张深度图像,将背景图像与从生产者模块获取到的三张深度图像做差分得到差分图P1、P2、P3;
2):将差分图P2的像素点的值与阈值Thbackground1比较,大于阈值阈值Thbackground1的设置为255,小于的设置为0,得到二值图B1;
3):将差分图P1、P2、P3的像素点的值与阈值Thbackground2比较,只有三张差分图的结果均大于阈值Thbackground2的设置为255,其余的均设置为0,得到二值图B2;
4):对B1、B2分别进行不同核大小的开操作,并在B1、B2上寻找寻找凸包;
5):计算凸包的平均点Pm,同时计算出Pm和背景图像的相同位置在水平深度相机坐标系下的Y的坐标值,得到障碍物的高度,如果障碍物的高度大于高度阈值将凸包保留,反之将凸包移除;
6):预先将空间按照与车体的距离(即水平深度相机坐标系的Z轴)划分为五个不同区域,不同区域内设置有不同的凸包面积阈值,对步骤5)剩余的凸包进行凸包面积的计算,将面积与凸包面积阈值比较,保留凸包面积比凸包面积阈值大的凸包,进行最小正接矩形框计算,并对重复的正接矩形框进行去除;
7):计算出正接矩形框中的障碍物最小的水平深度相机坐标系下Z轴像素点的三维坐标。
8):对于靠近地面的正接矩形框需要将最小正接矩形框映射到RGB中,并通过验证子模块进行二次校验,去除验证失败的矩形框;
9):取所有剩余的最小正接矩形框输出的三维坐标中Z轴最小值并进行中值滤波加限幅滤波的组合滤波,并将滤波后的三维坐标转换到车体坐标系。
进一步地,阈值Thbackground1与阈值Thbackground2是基于阈值文件对像素点阈值乘以一个系数加上一个设置的偏移量构成,其中基于阈值Thbackground1生成的二值图B1负责检测高于地面很多的障碍物,二值图B2负责检测靠近地面的低矮障碍物。
进一步地,验证子模块是经过AlexNet网络训练的二分类网络模型,用于区分地面与非地面,若输出结果为地面,则验证失败,如果输出结果是非地面,则验证成功,认为是障碍物。
进一步地,计算像素点在水平深度相机坐标系下的Y值的具体计算过程如下:
其中是深度相机内参矩阵,用于将相机坐标系转换到像素坐标系,(fx,fy)表示相机坐标系与成像平面的关系,代表了U轴与V轴上的缩放,(Cx,Cy)是相机光学中心,θ是相机的安装倾斜角(右手坐标系),是在深度图像上像素点(ud,vd)在水平深度相机坐标系下的三维坐标。Zd是在(ud,vd)像素点上的深度值。
进一步地,所述避障决策模块分别对普通障碍物与特优先碍物检测模块设置有不同避障范围,同时在避障范围内划分三个避障等级区域,距离叉车越近等级越高,根据实际需求设定,避障决策模块处理避障信息做出避障决策,具体过程如下:
1):接收普通障碍物检测子模块与优先障碍物检测子模块输出的障碍物坐标信息。
2):如有障碍物出现在三级避障区域同时处理普通障碍物检测模块与优先障碍物检测模块输出的障碍物信息,如障碍物出现在二级避障区域,那么优先处理优先障碍物检测模块输出的障碍物信息。
3):如果优先障碍物检测子模块检测到的障碍物在出现在一级避障区域内则立刻暂停优先障碍物检测子模块并设置为无障碍物的状态,以普通障碍检测模块的检测结果为准。
4):根据最终处理后得到的障碍物距离信息判断障碍物处于三个等级避障区域中的哪一块区域,根据障碍物所在区域判定使用相应的避障策略并将策略输出到运动控制模块控制移动搬运机器人执行避障碍策略,最终实现避障功能。
本发明的有益效果:本发明不仅能够针对不同优先级的障碍物做出不同的避障决策,同时还能对不同优先级的障碍物进行不同范围的检测,同时能在障碍物检测的基础上进行二次判定,能够提高相机的检测精度,降低障碍物检测的误检率,整个系统模块通过多线程技术并行处理拥有良好的实时性。
附图说明
图1为本发明方法系统组成图。
图2为RealsenseD435相机实物图。
图3为普通障碍物检测子模块流程图。
图4为特殊障碍物检测子模块流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
本发明提供了一种基于RGB-D的前置避障系统。该系统如图所1示包含生产者模块、标定模块、消费者模块、日志系统模块、可视化模块、调试模块、避障决策模块和运动控制模块。
所述生产者模块用于配置RGB-D相机并获取到周围环境的深度信息以及RGB信息,并通过预处理后将获取到的信息输出给标定模块、可视化模块以及消费者模块;
所述日志系统模块用于保存前置避障系统运行期间产生的信息;
所述可视化模块用于可视化显示当前RGB信息、深度信息以及障碍物检测信息;可视化模块是基于rviz以及Qt构建完成的,能够可视化整个系统所检测到的障碍物情况。
所述调试模块用于工程现场方便调试,调试的主要功能为系统参数更新、可视化开关、系统信息本地化保存等。
如图2所示,所述RGB-D相机为Intel Realsense D435相机,相机从左到右第一个和第三个孔中器件组成了深度相机、第二个为红外投影装置、第四个为RGB摄像头,相机安装在移动搬运机器人的顶部,相机倾斜角度保证相机视野范围内看不见机器人车体的任何部位。
如图3所示为整个前置避障系统的运行流程。生产者模块包括有相机的配置以及数据的预处理两个部分,其中相机的配置采用的是.json文件,配置Realsense D435使处于高精度模式下,高精度模式配置的.json文件为官方提供的相机配置文件,在该配置下相机会将深度图中深度值置信度比较低的像素点的值设置为0。数据预处理主要是对深度图进行预处理,预处理的具体过程为:对原始深度图像进行两倍下采样处理,然后将深度帧转换到视差帧,并通过使用空间过滤和时间过滤后,再将视差帧转换到深度帧,最后得到处理后的深度图。时间过滤,空间过滤的实现都是基于Intel Realsense SDK提供的时间过滤器与空间过滤器。
所述标定模块用于利用生产者模块预处理后的深度信息来对地面背景深度信息以及相机安装角度进行标定,最后得到相机的安装角度以及深度背景图;标定的具体实施步骤如下:
1):使Realsense D435相机面对一块平整的地面,在生产者模块中获取到相机的深度信息。
2):开始标定相机安装角度,定义深度相机坐标系的Z轴为相机正前方,X轴为相机右方,Y轴为相机下方;选取深度图靠近车体部分区域的随机的三个像素值,利用坐标转换关系计算出三个像素点在深度坐标系下的三维坐标。
3):以水平向下30度开始,相机安装角度θ以每次递增1度逐渐递增至90度结束。
4):通过角度θ将像素点在深度相机坐标系下的三维坐标转换为水平深度相机下的三维坐标。相互比较三个像素点在水平深度坐标系下Y轴的绝对值,绝对值均在5mm以内,保存角度否则返回步骤2),其中水平深度相机坐标系由深度相机坐标系绕坐标系原点旋转至Z轴与地面平行得到。
5):如果相机安装角度标定失败会将信息发送给日志系统以及可视化系统显示错误。反之,如果标定角度成功则进入下一步开始标定地面背景信息。
6):首先获取预处理后的深度图,对深度图中值超过阈值KMAX的像素点的值统一设置为KMAX,对深度图中值为0的像素点会进行领域扫描填充像素值。阈值KMAX代表的是前置避障系统所能检测的最远距离,KMAX被设置为5000,单位毫米。进行领域扫描填充像素值的具体过程为:首先对像素值为0的像素点的8领域进行扫描,取领域内的最大值,并将该像素点的深度数值修改为此最大值。如果该像素点对应深度数值依旧为0,则将该8领域在深度图中横向滚动平移8个像素单位;如果滚动一周过后该像素点的深度值依旧为0则会停止标定的过程并将错误上报给可视化模块。
7):缓存连续300张步骤6)处理后的深度图,计算每个像素点深度值的均值并保存为背景图,将300张深度图与背景图进行比较得到每一个像素点的最大偏差,并将最大偏差保存为阈值文件。
当标定结束以后,标定的结果会进行本地化保持,系统下次启动会直接进行加载。
所述消费者模块用于根据生产者模块输入的深度信息以及RGB信息检测出当前环境中的障碍物并得到障碍物的三维坐标信息;消费者采用的是线程池技术,使得CPU性能得到最大化利用,保证前置避障系统的实时性。消费者模块里面含有三个子模块分别为普通障碍物检测子模块,优先障碍物检测子模块和验证子模块。
所述普通障碍物检测子模块不区分障碍物的类型,对所有出现在视野内的障碍物进行检测;具体的检测步骤如下:
1):获取连续三张深度图,将背景图与从生产者模块获取到的三张深度图做差分得到差分图P1、P2、P3。差分具体公式为:
B(u,v)=Dbackground-Do(u,v)
其中Do(u,v)代表的是输入深度图在像素点(u,v)上的深度值,Dbackground(u,v)是标定模块得到的背景图在像素点(u,v)上的值,B(u,v)是得到二值图。
2):将差分图P2的像素点的值与阈值Thbackground1比较,大于阈值Thbackground1的设置为255,小于阈值Thbackground1的设置为0,得到二值图B1并发送给可视化模块。
3):将差分图P1、P2、P3的像素点的值与阈值Thbackground2比较,只有三张差分图的结果都大于阈值Thbackground2的设置为255,其余的均设置为0,得到二值图B2并发送给可视化模块。阈值Thbackground1与阈值Thbackground2是基于阈值文件对像素点阈值乘以一个系数加上一个设置的偏移量构成,其中基于阈值Thbackground1生成的二值图B1主要负责检测高于地面很多的障碍物,基于阈值Thbackground2生成的二值图B2主要负责检测贴近地面的低矮障碍物。阈值Thbackground1和阈值Thbackground2根据实际场景和具体需求设定。
4):对B1、B2分别进行不同核大小的开操作。
5):在B1、B2上寻找寻找凸包。
6):计算凸包的平均点Pm,同时计算出Pm和背景图的相同位置在水平深度相机坐标系下的Y的坐标值,比较Y值得到障碍物的高度,如果障碍物的高度大于高度阈值将凸包保留,反之将凸包移除。所述高度阈值根据具体场景需求进行设定
计算像素点在水平深度相机坐标系下的Y值的具体计算过程如下:
其中是深度相机内参矩阵,用于将相机坐标系转换到像素坐标系,(fx,fy)表示相机坐标系与成像平面的关系,代表了U轴与V轴上的缩放,(Cx,Cy)是相机光学中心,θ是相机的安装倾斜角(右手坐标系),是在深度图像上像素点(ud,vd)在水平深度相机坐标系下的三维坐标。Zd是在(ud,vd)像素点上的深度值。
7):预先将空间按照距离车体的距离(即水平深度相机坐标系的Z轴)划分为五个不同区域,不同区域内设置有不同的凸包面积阈值,对步骤6)剩余的凸包进行凸包面积的计算,将面积与凸包面积阈值比较,保留面积比凸包面积阈值大的凸包,所述凸包面积阈值根据实际情况和需求设定。
8):对步骤7)剩余的凸包进行最小正接矩形框计算。
9):对重复的正接矩形框进行去除。
10):计算出正接矩形框中的障碍物的最小水平深度相机坐标系下Z轴像素点的三维坐标。
11):对于十分接近地面的正接矩形框需要将最小正接矩形框映射到RGB中,并将RGB中对应内容送入验证子模块进行二次校验,去除验证失败的矩形框。最小正接矩形框从深度图映射到RGB图的具体过程为:首先选取最小正接矩形框的左上角和右下角的坐标,通过如下公式完成坐标转换:
其中Zd是在(ud,vd)像素点上的深度值;是深度图像素点(ud,vd)在深度相机坐标系下的三维坐标;是像素点(ud,vd)在RGB相机坐标系下的三维坐标;(uc,vc)是在RGB图像上的像素坐标。R和T分别是深度摄像头到RGB摄像头的旋转矩阵和平移矩阵。Kd是深度相机内参矩阵,Kc是RGB相机的内参矩阵。
对得到的(uc,vc)限制防止超出图片范围,具体公式如下:
其中Pu是RGB图U轴的最大值,Pv是RGB图V轴的最大值。
12):取所有剩余的最小正接矩形框输出的三维坐标中Z轴最小值并进行滤波。具体过程为:首先设置中值滤波的个数为5个,当新数据进入后,取出最久远的数据加入新数据。然后取中值滤波5个数据大小的中间值,并且将中间值与上一次输出数据进行比较,如果变化超出500mm则输出这个中间值,反之输出上一次的数据。
13):对滤波后值的三维坐标转换到车体坐标系。
所述验证子模块是经过AlexNet网络训练的二分类网络模型,主要的作用是区分地面与非地面。若输出结果为地面,则验证失败,如果输出结果是非地面,则验证成功,认为是障碍物。AlexNet模型构建过程如下:
1):收集实际运行过程中误检测地面的RGB图片部分与障碍物RGB图片部分。
2):利用Pytorch搭建AlexNet神经网络框架。
3):将地面图片与障碍物图片送入神经网络框架训练得到.pb模型。
4):序列化.pb文件,并通过Pytorch的C++库加载模型。
5):将需要判定的RGB内容输入加载好的模型,输出的是地面的概率,如果概率大于阈值则判定为地面,删除该误检测障碍物,反之保留。
如图4所示,优先障碍物检测子模块则会对特定的障碍物(行人及其它移动机器人)进行检测。优先障碍物检测子模块的工作具体流程为:
1):构建能够识别行人及其它移动机器人的网络模型。具体为:收集行人图片大小640x480共3600张,其中1200张作为测试集,2400为训练集,收集其它类型的移动机器人图片2800张2000张作为训练集,800张作为测试集。对所有图片进行打标签处理,标签格式为YOLO数据集格式。将数据集放入YOLOv5s网络中进行训练,得到.pb格式的网络模型。将.pb网络模型转换成.onnx格式。
2):利用TensorRT对网络模型进行加速部署。具体为:首先加载得到的.onnx文件。初始化加速构建引擎并且设置最大占用显卡工作空间为200M。序列化引擎并且保存为.trt引擎文件。加载.trt引擎文件,并初始化加速引擎上下文。开辟数据输入以及输出显存,将BRG通道还原为RGB通道顺序。将CPU中的图片数据拷贝到输入显存中,并进行GPU加速推理。将推理结果由输出显存拷贝到CPU中。
3):将从生产者模块中的RGB图片送入网络进行推理,得到推理结果,包括障碍物的位置,类别以及置信度。
4):去除置信度低于置信度阈值的障碍物,置信度阈值根据实际需要选择,将深度图对齐到RGB图并对剩余的障碍物中像素点进行水平深度坐标系下三维坐标计算,并进行直方图统计计算出障碍物的距离。
5):由于优先障碍物检测子模块运算速度慢,保持输出检测到障碍物的时候开启障碍物运行模拟,输出模拟数据以满足帧率。运动模拟的具体过程如下:
a.计算第一次输出与下一次输出的时间差Δt。
b.因为时间差比较短可以视为匀速运动,计算出当前障碍物位置为
(x,y,z)=(xlast+vx*Δt,ylast+vy*Δt,zlast)
车体前方为X轴,左边为Y轴,上面是Z轴,其中(x,y,z)是模拟出障碍物的当前位置即position1,(xlast,ylast,zlast)是上一次输出障碍物的结果,vx是在车体坐标系x轴方向上的线速度,vy是在车体坐标系y轴方向上的线速度。
c.根据里程计运行里程推理出另外一个障碍物位置position2。
d.将position1和position2送入扩展卡尔曼滤波器进行滤波处理,最后将滤波结果输出。
6):将障碍物距离转换到车体坐标系并输出,同时将检测图片发送给可视化模块。
所述避障决策模块用于根据消费者模块的不同障碍物的三维坐标信息,并根据避障信息的优先级采用合适的避障策略;所述避障决策模块分别对普通障碍物与特优先碍物检测模块设置有不同避障范围,同时在避障范围内划分三个避障等级区域,距离叉车越近等级越高,根据实际需求设定。一级避障减速30%,二级避障减速80%,三级避障直接停止。
普通障碍物检测子模块与优先障碍物检测子模块输出的结果会给到避障决策模块,避障决策模块会根据这些避障信息做出避障决策,具体过程如下:
1):接收普通障碍物检测子模块与优先障碍物检测子模块输出的障碍物坐标信息。
2):如有障碍物出现在三级避障区域同时处理普通障碍物检测模块与优先障碍物检测模块输出的障碍物信息,如障碍物出现在二级避障区域,那么优先处理优先障碍物检测模块输出的障碍物信息。
3):如果优先障碍物检测子模块检测到的障碍物在出现在一级避障区域内则立刻暂停优先障碍物检测子模块并设置为无障碍物的状态,以普通障碍检测模块的检测结果为准。
4):根据最终处理后得到的障碍物距离信息判断障碍物处于三个等级避障区域中的哪一块区域,根据障碍物所在区域判定使用相应的避障策略并将策略输出到运动控制模块控制移动搬运机器人执行避障碍策略,最终实现避障功能。
运动控制模块用于接收避障策略并根据策略计算出车体的角速度与线速度控制车体运动最终实现避障功能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (10)
1.一种基于RGB-D的前置避障系统,其特征在于,所述系统包括:生产者模块、标定模块、消费者模块、避障决策模块和运动控制模块;
所述生产者模块用于配置RGB-D相机并获取到周围环境的深度图像以及RGB图像,并将深度图像预处理后输出给标定模块以及消费者模块;
所述标定模块用于利用预处理后的深度图像对地面以及相机安装角度进行标定,最后得到相机的安装角度以及深度背景图像;
所述消费者模块用于根据预处理后的深度图像以及RGB图像检测出当前环境中的障碍物并得到障碍物的三维坐标信息;具体包括普通障碍物检测子模块、优先障碍物检测子模块和验证子模块;所述普通障碍物检测子模块不区分障碍物的类型,对所有出现在视野内的障碍物进行检测;所述优先障碍物检测子模块用于通过神经网络对行人及其它移动机器人进行检测识别,所述验证子模块用于对普通障碍物检测子模块检测到的障碍物进行二次识别;
所述避障决策模块用于根据消费者模块的不同障碍物的三维坐标信息以及优先级选择合适的避障策略;
所述运动控制模块用于根据避障决策模块输出的避障策略控制机器人的移动实现避障。
2.根据权利要求1所述的一种基于RGB-D的前置避障系统,其特征在于:所述RGB-D相机为Intel Realsense D435相机,相机安装在移动搬运机器人的顶部,相机倾斜角度保证相机视野范围内看不见机器人车体的任何部位。
3.根据权利要求1所述的一种基于RGB-D的前置避障系统,其特征在于:所述生产者模块对深度图像进行预处理的具体过程为:对原始深度图像进行两倍下采样处理,然后将深度帧转换到视差帧,并通过使用空间过滤和时间过滤后,再将视差帧转换到深度帧,最后得到处理后的深度图。
4.根据权利要求1所述的一种基于RGB-D的实时避障系统,其特征在于:所述的标定模块对相机安装角度信息进行标定,具体过程如下:
1):使RGB-D相机面对一块平整的地面,在生产者模块中获取到相机的深度信息;
2):开始标定相机安装角度,定义深度相机坐标系的Z轴为相机正前方,X轴为相机右方,Y轴为相机下方;选取深度图像靠近车体部分区域的随机的三个像素值,利用坐标转换关系计算出三个像素点在深度相机坐标系下的三维坐标;
3):以水平向下30度开始,相机安装角度θ以每次递增1度逐渐递增至90度结束。
4):通过相机安装角度θ将像素点在深度相机坐标系下的三维坐标转换为水平深度相机下的三维坐标;相互比较三个像素点在水平深度坐标系下Y轴的绝对值,绝对值均在5mm以内,保存角度否则返回步骤2),其中水平深度相机坐标系由深度相机坐标系绕坐标系原点旋转至Z轴与地面平行得到。
5.根据权利要求1所述的一种基于RGB-D的实时避障系统,其特征在于:所述的标定模块对地面进行标定,具体过程为:首先获取若干张预处理后的深度图像,对深度图中值超过阈值KMAX的像素点的值统一设置为KMAX,对深度图像中值为0的像素点会进行领域扫描填充像素值。计算像素点深度值的均值并保存为背景图像,将这些深度图像与背景图像进行比较得到每一个像素点的最大偏差,并将最大偏差保存为阈值文件。
6.根据权利要求4所述一种基于RGB-D的前置避障系统,其特征在于:普通障碍物检测子模块的障碍物检测过程如下:
1):获取连续三张深度图像,将背景图像与从生产者模块获取到的三张深度图像做差分得到差分图P1、P2、P3;
2):将差分图P2的像素点的值与阈值Thbackground1比较,大于阈值阈值Thbackground1的设置为255,小于的设置为0,得到二值图B1;
3):将差分图P1、P2、P3的像素点的值与阈值Thbackground2比较,只有三张差分图的结果均大于阈值Thbackground2的设置为255,其余的均设置为0,得到二值图B2;
4):对R1、B2分别进行不同核大小的开操作,并在B1、B2上寻找凸包;
5):计算凸包的平均点Pm,同时计算出Pm和背景图像的相同位置在水平深度相机坐标系下的Y的坐标值,得到障碍物的高度,如果障碍物的高度大于高度阈值将凸包保留,反之将凸包移除;
6):预先将空间按照与车体的距离(即水平深度相机坐标系的Z轴)划分为五个不同区域,不同区域内设置有不同的凸包面积阈值,对步骤5)剩余的凸包进行凸包面积的计算,将面积与凸包面积阈值比较,保留凸包面积比凸包面积阈值大的凸包,进行最小正接矩形框计算,并对重复的正接矩形框进行去除;
7):计算出正接矩形框中的障碍物最小的水平深度相机坐标系下Z轴像素点的三维坐标。
8):对于靠近地面的正接矩形框需要将最小正接矩形框映射到RGB中,并通过验证子模块进行二次校验,去除验证失败的矩形框;
9):取所有剩余的最小正接矩形框输出的三维坐标中Z轴最小值并进行中值滤波加限幅滤波的组合滤波,并将滤波后的三维坐标转换到车体坐标系。
7.根据权利要求6所述一种基于RGB-D的前置避障系统,其特征在于:阈值Thbackground1与阈值Thbackground2是基于阈值文件对像素点阈值乘以一个系数加上一个设置的偏移量构成,其中基于阈值Thbackground1生成的二值图R1负责检测高于地面很多的障碍物,二值图B2负责检测靠近地面的低矮障碍物。
8.根据权利要求6所述一种基于RGB-D的前置避障系统,其特征在于:验证子模块是经过AlexNet网络训练的二分类网络模型,用于区分地面与非地面,若输出结果为地面,则验证失败,如果输出结果是非地面,则验证成功,认为是障碍物。
10.根据权利要求1所述的一种基于RGB-D的实时避障系统,其特征在于:所述避障决策模块分别对普通障碍物与特优先碍物检测模块设置有不同避障范围,同时在避障范围内划分三个避障等级区域,距离叉车越近等级越高,根据实际需求设定,避障决策模块处理避障信息做出避障决策,具体过程如下:
1):接收普通障碍物检测子模块与优先障碍物检测子模块输出的障碍物坐标信息。
2):如有障碍物出现在三级避障区域同时处理普通障碍物检测模块与优先障碍物检测模块输出的障碍物信息,如障碍物出现在二级避障区域,那么优先处理优先障碍物检测模块输出的障碍物信息。
3):如果优先障碍物检测子模块检测到的障碍物在出现在一级避障区域内则立刻暂停优先障碍物检测子模块并设置为无障碍物的状态,以普通障碍检测模块的检测结果为准。
4):根据最终处理后得到的障碍物距离信息判断障碍物处于三个等级避障区域中的哪一块区域,根据障碍物所在区域判定使用相应的避障策略并将策略输出到运动控制模块控制移动搬运机器人执行避障碍策略,最终实现避障功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210340720.7A CN114661051A (zh) | 2022-03-31 | 2022-03-31 | 一种基于rgb-d的前置避障系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210340720.7A CN114661051A (zh) | 2022-03-31 | 2022-03-31 | 一种基于rgb-d的前置避障系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661051A true CN114661051A (zh) | 2022-06-24 |
Family
ID=82033725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210340720.7A Pending CN114661051A (zh) | 2022-03-31 | 2022-03-31 | 一种基于rgb-d的前置避障系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661051A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185285A (zh) * | 2022-09-06 | 2022-10-14 | 深圳市信诚创新技术有限公司 | 吸尘机器人的自动避障方法、装置、设备及存储介质 |
-
2022
- 2022-03-31 CN CN202210340720.7A patent/CN114661051A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185285A (zh) * | 2022-09-06 | 2022-10-14 | 深圳市信诚创新技术有限公司 | 吸尘机器人的自动避障方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074668B (zh) | 路径导航方法、相关装置及计算机可读存储介质 | |
CN110765922B (zh) | 一种agv用双目视觉物体检测障碍物系统 | |
EP3418943B1 (en) | Object detecting apparatus, object detecting method, and computer-readable medium | |
US10859684B1 (en) | Method and system for camera-lidar calibration | |
US11669972B2 (en) | Geometry-aware instance segmentation in stereo image capture processes | |
JP3895238B2 (ja) | 障害物検出装置及びその方法 | |
KR20230121978A (ko) | 항만 모니터링 장치 및 항만 모니터링 방법 | |
WO2020053611A1 (en) | Electronic device, system and method for determining a semantic grid of an environment of a vehicle | |
CN112097732A (zh) | 一种基于双目相机的三维测距方法、系统、设备及可读存储介质 | |
CN112798811A (zh) | 速度测量方法、装置和设备 | |
CN114325634A (zh) | 一种基于激光雷达的高鲁棒性野外环境下可通行区域提取方法 | |
CN117015792A (zh) | 有凹图像放大用于自动驾驶生成物体检测标签的系统和方法 | |
JP4967758B2 (ja) | 物体移動の検出方法及び検出装置 | |
CN114661051A (zh) | 一种基于rgb-d的前置避障系统 | |
CN114488185A (zh) | 基于多线激光雷达的机器人导航系统方法及系统 | |
CN114118247A (zh) | 一种基于多传感器融合的无锚框3d目标检测方法 | |
CN113408353B (zh) | 一种基于rgb-d的实时避障系统 | |
CN115683109B (zh) | 基于cuda和三维栅格地图的视觉动态障碍物检测方法 | |
CN114353779B (zh) | 一种采用点云投影快速更新机器人局部代价地图的方法 | |
US11893801B2 (en) | Flagman traffic gesture recognition | |
Pfeiffer et al. | Ground truth evaluation of the Stixel representation using laser scanners | |
Li et al. | Mobile robot map building based on laser ranging and kinect | |
Lourenço et al. | A volumetric representation for obstacle detection in vegetated terrain | |
Toderean et al. | Guidance and safety systems for mobile robots | |
US20240257376A1 (en) | Method and system for detection a line above ground from a helicopter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |