发明内容
针对相关技术中的问题,本发明提出一种基于自动驾驶的车辆避障规划方法及***,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的另一方面,提供了一种基于自动驾驶的车辆避障规划方法,该方法包括以下步骤:
S1、利用传感器获取自动驾驶车辆行驶环境数据及车辆自身数据并进行预处理;
S2、基于获取的行驶环境数据对周围环境数据进行障碍物识别;
S3、基于获取的车辆自身数据构建车辆动力学模型;
S4、基于识别出的障碍物以及车辆动力学模型判断车辆危险系数;
S5、基于所述车辆危险系数对自动驾驶车辆进行避障路径规划;
S6、根据避障路径规划控制自动驾驶车辆进行避障行驶。
进一步的,所述基于获取的周围环境数据对周围环境数据进行障碍物识别包括以下步骤:
S11、通过设置在自动驾驶车辆前侧的两个不同探测角度的超声波传感器采集自动驾驶车辆的前方道路数据;
S12、通过设置在自动驾驶车辆四周的激光雷达传感器和视觉传感器采集自动驾驶车辆的周围环境数据;
S13、对获取的所述前方道路数据及所述周围环境数据进行去噪处理以及滤波处理。
进一步的,所述基于获取的行驶环境数据对周围环境数据进行障碍物识别包括以下步骤:
S21、基于所述前方道路数据采用交叉探测法对凹形障碍物进行识别;
S22、基于所述周围环境数据对道路上的凸形障碍物进行识别。
进一步的,所述基于所述前方道路数据采用交叉探测法对凹形障碍物进行识别包括以下步骤:
S211、定义自动驾驶车辆前侧的两个不同探测角度超声波传感器形成的两条探测线分别为探测线一和探测线二;
S212、获取两个不同探测角度超声波传感器与地面的垂直距离h以及两个超声波传感器的探测角度;
S213、基于获取的所述垂直距离h以及所述探测角度并利用三角函数求得两个超声波传感器沿着探测方向到地面的距离,分别记为OA和OB;
S214、实时计算OA和OB的大小,当OA和OB的计算值在预设的范围内出现浮动时,表示该自动驾驶车辆的前方未出现凹形障碍物;当OA和OB的计算值出现超过预设范围内的跃变时,表示该自动驾驶车辆的前方出现凹形障碍物。
进一步的,所述基于所述周围环境数据对道路上的凸形障碍物进行识别包括以下步骤:
S221、将激光雷达传感器获取的凸形障碍物信息传递至视觉传感器,并对视觉传感器采集的图像信息进行处理,得到凸形障碍物的轮廓信息,识别出障碍物;
S222、对障碍物底部的阴影特征进行分析,并建立感兴趣区域,确立目前的区域,检测出前方凸形障碍物是否为动态障碍物;
S223、利用数据融合法对激光雷达传感器及视觉传感器获取的信息进行时间融合和空间融合;
S224、通过联合卡尔曼滤波算法融合后的时间数据和空间数据再次融合,确定前方凸形障碍物的运动状态。
进一步的,所述将激光雷达传感器获取的凸形障碍物信息传递至视觉传感器,并对视觉传感器采集的图像信息进行处理,得到凸形障碍物的轮廓信息,识别出障碍物包括以下步骤:
S2211、利用地面分割算法对采集的图像新进行分割处理,将道路数据部分与凸形障碍物部分进行分离;
S2212、对所述凸形障碍物部分的点云数据进行特征提取,得到特征信息;
S2213、基于提取的特征信息利用支持向量机分类器对凸形障碍物进行分类,确定凸形障碍物的类型。
进一步的,所述基于识别出的障碍物以及车辆动力学模型判断车辆危险系数包括以下步骤:
S41、获取自动驾驶车辆与障碍物之间的距离;
S42、根据自动驾驶车辆的形式速度及方向,通过速度预测法预测自动驾驶车辆与障碍物的交点位置和时间,并判断出自动驾驶车辆的危险系数。
进一步的,所述基于所述车辆危险系数对自动驾驶车辆进行避障路径规划包括以下步骤:
S51、基于人工势场法规划出自动驾驶车辆的所需到达的下一个点坐标,基于前一时刻的位姿来确定自动车辆到达下一个坐标点时自动驾驶车辆所需的转弯半径;
S52、若转弯半径小于自动驾驶的最小转弯半径,则根据自动驾驶的最小转弯半径大小来计算出下一点的坐标,若转弯半径大于自动驾驶的最小转弯半径,则根据转弯半径大小来计算出下一点的坐标;
S53、判断计算出来的下一坐标点与目标点坐标的关系,若两者出现重合则路径规划结束,若两者不重合,则返回人工势场法继续进行计算,直至达到目标点坐标。
进一步的,所述根据避障路径规划控制自动驾驶车辆进行避障行驶包括以下步骤:
S61、基于避障路径规划控制自动驾驶车辆的车轮转动对应的角度和转速;
S62、在自动驾驶车辆移动避障过程中,持续获取行驶环境数据变化,并进行避障路径的调整和控制指令的更新。
根据本发明的另一方面,提供了一种基于自动驾驶的车辆避障规划***,该***包括:数据采集模块、障碍物识别模块、模型构建模块、危险系数判断模块、路径规划模块及车辆控制模块;
所述数据采集模块,用于利用传感器获取自动驾驶车辆行驶环境数据及车辆自身数据并进行预处理;
所述障碍物识别模块,用于基于获取的行驶环境数据对周围环境数据进行障碍物识别;
所述模型构建模块,用于基于获取的车辆自身数据构建车辆动力学模型;
所述危险系数判断模块,用于基于识别出的障碍物以及车辆动力学模型判断车辆危险系数;
所述路径规划模块,用于基于所述车辆危险系数对自动驾驶车辆进行避障路径规划;
所述车辆控制模块,用于根据避障路径规划控制自动驾驶车辆进行避障行驶。
本发明的有益效果为:
1、本发明通过利用传感器获取自动驾驶车辆行驶环境数据并对自动驾驶车辆周围进行障碍物识别,然后基于车辆动力学模型及识别出的障碍物进行危险系数判断并对自动驾驶车辆进行避障路径规划,从而能够提高自动驾驶车辆的主动避障能力,降低自动驾驶车辆在行驶过程中的事故率,进而能够提高车辆行驶的安全性,保证驾驶员和乘客的安全。
2、本发明通过对道路上凹形障碍物和凸形障碍物的识别,从而能够实现对道路上障碍物的全面性识别,可以帮助自动驾驶车辆更准确地感知周围环境情况,进而实现自动驾驶车辆更安全以及高效的行驶,提高自动驾驶车辆的行驶效率,节省成本。
3、本发明通过人工势场法规划自动驾驶车辆的避障路径,使得人工势场法能依据障碍物分布和车辆的起始方向来规划合理的避障路径,且曲线光滑柔和,从而能够很好的根据自动驾驶车辆的运动特性和转向特性来规划避障路径,进而保证了自动驾驶车辆的通过性。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
根据本发明的实施例,提供了一种基于自动驾驶的车辆避障规划方法及***。
现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明的一个实施例,提供了一种基于自动驾驶的车辆避障规划方法,该方法包括以下步骤:
S1、利用传感器获取自动驾驶车辆行驶环境数据及车辆自身数据并进行预处理;
具体的,所述基于获取的周围环境数据对周围环境数据进行障碍物识别包括以下步骤:
S11、通过设置在自动驾驶车辆前侧的两个不同探测角度的超声波传感器采集自动驾驶车辆的前方道路数据;
S12、通过设置在自动驾驶车辆四周的激光雷达传感器和视觉传感器采集自动驾驶车辆的周围环境数据;
S13、对获取的所述前方道路数据及所述周围环境数据进行去噪处理以及滤波处理。
具体的,对前方道路数据及周围环境数据进行去噪以及滤波处理,可以提高自动驾驶车辆的环境感知能力和行驶安全性;通常可以采用以下几种方法进行去噪以及滤波处理:
均值滤波:将某一像素周围的像素值取平均数,以减少图像中的随机噪声。
中值滤波:取某一像素周围像素值的中值作为该像素值,以消除图像中的脉冲噪声。
高斯滤波:用高斯函数对图像中的像素进行加权平均,以消除高斯噪声。
小波变换去噪:利用小波变换分析信号的时间和频率特性,将信号分解为多个分量,去除高频噪声。
边缘保留滤波:保留图像中的边缘信息,去除非边缘信息,以减少图像中的噪声。
小波变换去噪:将图像转换到小波域,通过去除小波系数中的高频分量来减少噪声。
可以根据实际情况进行选择和组合使用,例如可以先使用均值滤波或中值滤波来去除随机噪声,再使用边缘保留滤波或小波变换去噪来保留图像中的重要信息。
S2、基于获取的行驶环境数据对周围环境数据进行障碍物识别;
具体的,所述基于获取的行驶环境数据对周围环境数据进行障碍物识别包括以下步骤:
S21、基于所述前方道路数据采用交叉探测法对凹形障碍物进行识别;
具体的,所述基于所述前方道路数据采用交叉探测法对凹形障碍物进行识别包括以下步骤:
S211、定义自动驾驶车辆前侧的两个不同探测角度超声波传感器形成的两条探测线分别为探测线一和探测线二;
具体的,动驾驶车辆前侧的超声波传感器均是倾斜向下并朝车辆的前方进行超声波探测的。
S212、获取两个不同探测角度超声波传感器与地面的垂直距离h以及两个超声波传感器的探测角度;两个超声波传感器的探测角度分别设置为α和β;
S213、基于获取的所述垂直距离h以及所述探测角度并利用三角函数求得两个超声波传感器沿着探测方向到地面的距离,分别记为OA和OB;
具体的,基于获取的所述垂直距离h以及所述探测角度并利用三角函数求得两个超声波传感器沿着探测方向到地面的距离的计算公式为:
OA=h/cosα
OB=h/cos(α+β)
S214、实时计算OA和OB的大小,当OA和OB的计算值在预设的范围内出现浮动时,表示该自动驾驶车辆的前方未出现凹形障碍物;当OA和OB的计算值出现超过预设范围内的跃变时,表示该自动驾驶车辆的前方出现凹形障碍物。
S22、基于所述周围环境数据对道路上的凸形障碍物进行识别;
具体的,所述基于所述周围环境数据对道路上的凸形障碍物进行识别包括以下步骤:
S221、将激光雷达传感器获取的凸形障碍物信息传递至视觉传感器,并对视觉传感器采集的图像信息进行处理,得到凸形障碍物的轮廓信息,识别出障碍物;
具体的,所述将激光雷达传感器获取的凸形障碍物信息传递至视觉传感器,并对视觉传感器采集的图像信息进行处理,得到凸形障碍物的轮廓信息,识别出障碍物包括以下步骤:
S2211、利用地面分割算法对采集的图像新进行分割处理,将道路数据部分与凸形障碍物部分进行分离;
具体的,地面分割算法通常基于图像处理技术和机器学习方法,其中,基于图像处理技术的地面分割算法主要依赖于图像的颜色、纹理和形状等特征,通过对图像进行预处理、滤波、阈值分割等操作,可以得到地面和非地面像素点的分布情况。
S2212、对所述凸形障碍物部分的点云数据进行特征提取,得到特征信息;
具体的,通过计算点云数据的曲率、法向量、特征点等形状特征来进行特征提取;曲率可以用来描述点云数据的弯曲程度,法向量可以用来描述点云数据的表面法线方向,特征点可以用来描述点云数据的局部特征。这些形状特征可以帮助识别点云数据中的目标,如车辆、行人等。
S2213、基于提取的特征信息利用支持向量机分类器对凸形障碍物进行分类,确定凸形障碍物的类型。
S222、对障碍物底部的阴影特征进行分析,并建立感兴趣区域,确立目前的区域,检测出前方凸形障碍物是否为动态障碍物;
具体的,对障碍物底部的阴影特征进行分析具体为对障碍物的阴影分割,其可以通过局部灰度统计的阈值改进算法来实现,具体算法如下:
在道路有效区域内,按照从近到远选取N个大小相同的局部区域;
分别对每个局部区域进行灰度值统计,求得各个局部区域的灰度均值和方差;
将局部区域方差值大于100的局部区域进行剔除;
根据各个局部区域的灰度均值和方差计算出N个区域的灰度均值μ和方差σ;
其中,
式中,N表示局部区域的个数;μi表示第i个局部区域的灰度均值;σi表示第i个局部区域的方差。
由于路面灰度值总是比障碍物阴影灰度值大,可选取路面最小灰度值对障碍物阴影进行阈值分割,即T=μ-3σ。
以T作为阈值对采集的图像进行二值化处理。
S223、利用数据融合法对激光雷达传感器及视觉传感器获取的信息进行时间融合和空间融合;
S224、通过联合卡尔曼滤波算法融合后的时间数据和空间数据再次融合,确定前方凸形障碍物的运动状态。
S3、基于获取的车辆自身数据构建车辆动力学模型;
具体的,基于获取的车辆自身数据构建车辆动力学模型包括以下步骤:
定义车辆的状态,车辆的状态包括位置、速度、加速度、转向角度、车身倾斜角度等等,这些状态变量需要根据实际情况确定;
确定车辆的控制量,车辆的控制量包括加速度、制动力、转向角度等等;这些控制量可以通过车辆的传感器、控制器等设备来获取;
确定车辆的动力学特性,车辆的动力学特性包括质量、惯性、摩擦系数等等;这些特性需要通过实验或者仿真等方法来确定;
建立运动方程,根据车辆的动力学特性和控制量,建立车辆的运动方程;
确定模型参数,根据实验或者仿真等方法,确定模型中的各个参数,例如车辆的质量、惯性、摩擦系数等等。
S4、基于识别出的障碍物以及车辆动力学模型判断车辆危险系数;
具体的,所述基于识别出的障碍物以及车辆动力学模型判断车辆危险系数包括以下步骤:
S41、获取自动驾驶车辆与障碍物之间的距离;
S42、根据自动驾驶车辆的形式速度及方向,通过速度预测法预测自动驾驶车辆与障碍物的交点位置和时间,并判断出自动驾驶车辆的危险系数。
具体的,通过速度预测法预测自动驾驶车辆与障碍物的交点位置和时间包括以下步骤:
确定车辆和障碍物的位置和速度;
计算车辆和障碍物之间的距离;
根据车辆和障碍物的速度,以及它们之间的距离,可以预测它们的最近距离和交点时间。
S5、基于所述车辆危险系数对自动驾驶车辆进行避障路径规划;
具体的,所述基于所述车辆危险系数对自动驾驶车辆进行避障路径规划包括以下步骤:
S51、基于人工势场法规划出自动驾驶车辆的所需到达的下一个点坐标,基于前一时刻的位姿来确定自动车辆到达下一个坐标点时自动驾驶车辆所需的转弯半径;
具体的,人工势场法将车辆看作一个质点,在其周围建立一个势场,而构建的模型算法。人工势场法核心为:在一定的空间中定义同时存在由势函数构成的“斥力场”和“引力场”,“斥力场”定义为由障碍物产生,“引力场”定义为由目地点产生。“引力场”使得车辆朝着目标点前进,而“斥力场”则使得车辆避开障碍物。
其中,人工势场法基本原理公式为:
P(θ)=f{d(θ,θ0),d[R(θ),0],dr}
式中,θ0表示标位姿矢量,θ表示车辆的当前位姿,f表示电势能函数,表示车辆在当前位置θ处所具有的电势能,d(θ,θ0)表示θ0和θ间的两者之间的距离函数,d[R(θ),0]表示车辆当前与障碍物的最短距离,dr表示既定的最小的影响范围值,P(θ)表示变量d(θ,θ0)的单增函数,并且为d[R(θ),0]的单减函数。
在“引力场”中,车辆受到的力是由目标点与其“引力”所决定;该力的大小与车辆
与目标点的距离成反比,即距离越远,受到的“引力”越弱。
在“斥力场”中,车辆受到的力是由障碍物与其“斥力”所决定;该力的大小与车辆
与障碍物的距离成正比,即距离越近,受到的“斥力”越大。
本发明根据车辆自身的运动规律和运动特性对路径规划影响的基础上,将车辆的转弯半径这因素考虑到避障路径规划上。能够使得人工势场法可以依据障碍物分布和车辆的起始方向来规划合理的避障路径,且曲线光滑柔和,能够很好的根据智能车辆的运动特性和转向特性来规划避障路径,保证了车辆的通过性。S52、若转弯半径小于自动驾驶的最小转弯半径,则根据自动驾驶的最小转弯半径大小来计算出下一点的坐标,若转弯半径大于自动驾驶的最小转弯半径,则根据转弯半径大小来计算出下一点的坐标;
S53、判断计算出来的下一坐标点与目标点坐标的关系,若两者出现重合则路径规划结束,若两者不重合,则返回人工势场法继续进行计算,直至达到目标点坐标。
S6、根据避障路径规划控制自动驾驶车辆进行避障行驶;
具体的,所述根据避障路径规划控制自动驾驶车辆进行避障行驶包括以下步骤:
S61、基于避障路径规划控制自动驾驶车辆的车轮转动对应的角度和转速;
S62、在自动驾驶车辆移动避障过程中,持续获取行驶环境数据变化,并进行避障路径的调整和控制指令的更新。
根据本发明的一个实施例,提供了一种基于自动驾驶的车辆避障规划***,该***包括:数据采集模块、障碍物识别模块、模型构建模块、危险系数判断模块、路径规划模块及车辆控制模块;
所述数据采集模块,用于利用传感器获取自动驾驶车辆行驶环境数据及车辆自身数据并进行预处理;
所述障碍物识别模块,用于基于获取的行驶环境数据对周围环境数据进行障碍物识别;
所述模型构建模块,用于基于获取的车辆自身数据构建车辆动力学模型;
所述危险系数判断模块,用于基于识别出的障碍物以及车辆动力学模型判断车辆危险系数;
所述路径规划模块,用于基于所述车辆危险系数对自动驾驶车辆进行避障路径规划;
所述车辆控制模块,用于根据避障路径规划控制自动驾驶车辆进行避障行驶。
综上所述,借助于本发明的上述技术方案,本发明通过利用传感器获取自动驾驶车辆行驶环境数据并对自动驾驶车辆周围进行障碍物识别,然后基于车辆动力学模型及识别出的障碍物进行危险系数判断并对自动驾驶车辆进行避障路径规划,从而能够提高自动驾驶车辆的主动避障能力,降低自动驾驶车辆在行驶过程中的事故率,进而能够提高车辆行驶的安全性,保证驾驶员和乘客的安全;本发明通过对道路上凹形障碍物和凸形障碍物的识别,从而能够实现对道路上障碍物的全面性识别,可以帮助自动驾驶车辆更准确地感知周围环境情况,进而实现自动驾驶车辆更安全以及高效的行驶,提高自动驾驶车辆的行驶效率,节省成本;本发明通过人工势场法规划自动驾驶车辆的避障路径,使得人工势场法能依据障碍物分布和车辆的起始方向来规划合理的避障路径,且曲线光滑柔和,从而能够很好的根据自动驾驶车辆的运动特性和转向特性来规划避障路径,进而保证了自动驾驶车辆的通过性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。