CN113031004B - 基于三维激光雷达的无人船水面目标检测及路径规划方法 - Google Patents
基于三维激光雷达的无人船水面目标检测及路径规划方法 Download PDFInfo
- Publication number
- CN113031004B CN113031004B CN202110244235.5A CN202110244235A CN113031004B CN 113031004 B CN113031004 B CN 113031004B CN 202110244235 A CN202110244235 A CN 202110244235A CN 113031004 B CN113031004 B CN 113031004B
- Authority
- CN
- China
- Prior art keywords
- new
- obstacle
- point cloud
- laser radar
- rectangle
- 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.)
- Active
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000001514 detection method Methods 0.000 title claims abstract description 21
- 230000004888 barrier function Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000004347 surface barrier Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Evolutionary Biology (AREA)
- Marketing (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Game Theory and Decision Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本发明公开了一种基于三维激光雷达的无人船水面目标检测及路径规划方法,意在感知水面环境并根据环境信息进行自主导航。首先定义激光雷达坐标系,然后对激光雷达参数进行标定,再将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标,接下来为了区分地面点云与水面点云,进行地面分割,对地面点云进行过滤,从而减少后续算法的计算量,然后对激光雷达扫描到的水面障碍物进行聚类,最终根据障碍物信息进行水面路径规划,使无人船在水面上避开障碍物规划出一条路径,以确保可以安全、准确地到达指定的目标点。
Description
技术领域
本发明属于目标检测技术领域,具体涉及一种目标检测及路径规划方法。
背景技术
随着计算及性能和传感技术的不断提高,自动驾驶技术发展迅速,其应用领域已从陆地扩展到了空中和水面,而无人船则是典型的水面无人驾驶设备。为了实现无人船的安全航行,需要进行水面路径规划,环境感知是进行路径规划的前提条件。
激光雷达是无人船进行水面环境感知中最常用的传感器之一,其是一种使用激光探测位置、形状和速度等几何特征的系统。它向目标物体发射激光,然后接收这些物体反射的信号。通过比较接收信号与发送信号的相位差,可以得到目标物体的信息,如距离、反射率等。通过进一步的算法,还可以得到位置、高度、速度、姿态和形状。一般来说,激光雷达能够探测到精度为厘米级的目标。常见的二维激光雷达能在较宽的范围内提供周围船只的相对方位和距离,具有合理的探测性能。然而,由于传感器的传感特性和环境干扰,当传感器在近距离到达盲区时,二维激光雷达的检测性能会下降。此外,二维激光雷达的采样率低、分辨率低,因此在识别高速船只或突出水面的小物体时,二维激光雷达的检测性能会下降。因此,需要增加传感器的维度和精度从而实现对无人船周围水面环境更为精确的检测与感知。三维激光雷达由垂直排列的多个激光束组成,通过旋转激光器来收集周围障碍物信息,获得360°的环境全景,从而提高目标检测的性能。
在获取到周围环境的障碍物信息后,相应地,进行环境地图构建和路径规划便成为了下一步的研究目标。无人船作为小型水面平台,需要在不可预测的环境中进行自主导航,如何确保航行的安全是重中之重。为了满足这一要求,无人船需具备强大的环境感知能力,即无人船可以从周围环境中收集数据,构造相应的环境信息模型进行分析,从而规划出一条安全可行的航行路径,以顺利执行航行任务。目前常见的路径规划算法有Dijkstra算法、A*算法以及RRT(Rapidly exploring Random Tree)算法等。
发明内容
为了克服现有技术的不足,本发明提供了一种基于三维激光雷达的无人船水面目标检测及路径规划方法,意在感知水面环境并根据环境信息进行自主导航。首先定义激光雷达坐标系,然后对激光雷达参数进行标定,再将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标,接下来为了区分地面点云与水面点云,进行地面分割,对地面点云进行过滤,从而减少后续算法的计算量,然后对激光雷达扫描到的水面障碍物进行聚类,最终根据障碍物信息进行水面路径规划,使无人船在水面上避开障碍物规划出一条路径,以确保可以安全、准确地到达指定的目标点。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1:定义坐标系;
定义船体坐标系oBxByBzB,记为{B};船体坐标系的原点oB为无人船的浮心,轴xB沿船体轴线方向并指向前方,轴yB在水平面内垂直于xB,轴zB垂直水平面向上;
定义激光雷达坐标系oLxLyLzL,记为{L};激光雷达坐标系xL轴和yL轴分别与船体坐标系的xB轴和yB轴方向一致,zL轴方向与船体坐标系的zB轴相反,垂直水平面向下;
步骤2:标定激光雷达参数;
所述激光雷达被固定在无人船顶端,以水面为参考,将激光雷达所在位置的(x,y,z)坐标设为(0,0,-1);
步骤3:激光雷达点云坐标映射;
将极坐标下的角度和距离信息转化为笛卡尔坐标系下的x,y,z坐标,转换关系为
式中,r为实测距离,ω为激光的垂直角度,α为激光的水平旋转角度,x,y,z为极坐标投影到笛卡尔坐标系X,Y,Z轴上的坐标;
步骤4:地面点云分割;
步骤4-1:将激光雷达获取到的单帧点云数据作为输入,定义为Pin;初始化平面模型最大迭代次数Niter和判断数据点是否属于地面点的阈值Thg;
步骤4-2:随机选取种子点,计算平面模型;对地面使用平面模型进行表示:
ax+by+cz=d (1)
其中,a、b、c、d分别为不同的计算出的平面模型参数;
式(1)等号左右同时除以a,得:
进而表示为:
x+αy+βz=χ (2)
其中,α、β、χ分别表示不同的简化后的平面模型参数;
步骤4-3:根据阈值Thg将点云Pin分割为地面点云Pg和非地面点云Png;
步骤4-4:创建两个列表Lg和Lng,将地面点云Pg和非地面点云Png分别加入Lg和Lng;
步骤4-5:重复迭代步骤4-2到步骤4-4,直到最大迭代次数Niter;
步骤4-6:选择迭代过程中包含地面点最多的平面模型作为最优地面模型,并输出对应的地面点云Pg_max和非地面点云Png_min;
步骤5:水面障碍物聚类;
步骤5-1:输入非地面点云Png_min、初始化参数dth、Nmin;dth为判断邻域点是否为同一障碍物的聚类阈值,Nmin为障碍物包含的最小点数;
步骤5-2:根据输入的非地面点云Png_min创建Kd-Tree,Kd-Tree使用二叉树原理对点云数据进行划分,使用点云x,y,z三个维度,首先按x方向将点云分为两半,然后再按y方向进行对分,接着按照z方向进行对分,再继续循环构建一个多维的对分查找树结构Kd-Tree;
步骤5-3:创建存储聚类对象的列表C和存储被检测点的列表Q,随机选择Png_min的一点pi并将其放入列表Q,然后检索出pi在Png_min中所有距离小于聚类阈值dth的近邻点并将所有/>放入列表Q,然后将Q放入列表C中,作为一种聚类结果,同时清空列表Q;然后继续对Pin的其他点进行相同的操作,直到所有点都被处理完;
步骤5-4:将障碍物列表C中的障碍物点数大于等于Nmin以上的障碍物判定为有效障碍物;
步骤5-5:输出聚类的障碍物列表C;
步骤6:根据障碍物信息进行水面路径规划;
步骤6-1:首先产生第一个节点xinit属于自由空间Xfree,在每一次循环中,产生一个随机点xrand,随机点的生成是任意的,即在整个状态空间X内任意地点;
步骤6-2:在产生随机点xrand后,遍历Kd-Tree中的每一个节点,计算每一个节点与本次循环生成的随机点之间的距离,找出距离此随机点xrand最近的节点,记为xnear;
步骤6-3:定义步进变量EPS,当找到xnear时,朝向xnear与xrand连线方向扩展EPS步长,扩展后产生新的节点xnew;
步骤6-4:障碍物的碰撞机制;
步骤6-4-1:若障碍物为近似圆形,将圆形障碍物进行线性化处理,判断xnew的横纵坐标是否在圆内:如果xnew位于圆形障碍物的外接正方形内,就视为碰撞;
如果圆形障碍物的圆心坐标为(x0,y0),半径为r,考虑无人船的尺寸,对障碍物进行膨化处理,膨胀尺寸inf,所以碰撞条件为:
x0-r-inf<xnew,x<x0+r+inf
y0-r-inf<xnew,y<y0+r+inf
步骤6-4-2:若障碍物为矩形,在扩展KD-Tree的过程中,由xnear到xnew连接的边不能与矩形障碍物的任何一边相交,即将矩形障碍物碰撞检测问题转化为直线与矩形相交问题;直线与矩形相交的判断分为两步:
第一步:判断xnear与xnew是否在矩形同一条边一条边的一侧:如果xnear与xnew在矩形任意一条边的同侧,则xnear与xnew连线必定不与矩形相交;如果xnear与xnew位于同一条边的两侧,则进行第二步判断;
第二步:xnear与xnew在矩形任意一边的不同侧时,分为两种情况:
1、xnew位于矩形内部,则xnear与xnew连线必定与矩形相交;
2、xnear与xnew两点均在矩形外部,当xnear与xnew位于矩形外侧且位于矩形上边的两侧,但两点连线与矩形相交,利用直线与矩形的性质进行避碰计算;
通过对每一个障碍物进行上述逻辑判断使KD-Tree的扩展避开障碍物,从而在Xfree中进行路径规划。
本发明的有益效果如下:
本发明的无人船可以从周围环境中收集数据,构造相应的环境信息模型进行分析,从而规划出一条安全可行的航行路径,以顺利执行航行任务。
附图说明
图1是本发明方法激光雷达坐标系。
图2是本发明方法雷达极坐标和XYZ坐标映射示意图。
图3是本发明实施例激光雷达扫描轮廓图。
图4是本发明实施例路径规划两点均位于矩形外侧且位于某一条边两侧与矩形相交情况。
图5是本发明实施例路径规划碰撞机制数学模型。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
一种基于三维激光雷达的无人船水面目标检测及路径规划方法,包括以下步骤:
步骤1:为了表示激光点云与激光雷达位置之间的关系,定义坐标系;
定义船体坐标系oBxByBzB,记为{B};船体坐标系的原点oB为无人船的浮心,轴xB沿船体轴线方向并指向前方,轴yB在水平面内垂直于xB,轴zB垂直水平面向上;
定义激光雷达坐标系oLxLyLzL,记为{L};激光雷达坐标系xL轴和yL轴分别与船体坐标系的xB轴和yB轴方向一致,zL轴方向与船体坐标系的zB轴相反,垂直水平面向下;如图1所示;
步骤2:标定激光雷达参数;
由于激光雷达被固定在无人船顶端,距离地面1.2m,当无人船在水面中航行时,无人船会下沉0.2m,又由于激光雷达坐标系{L}中z轴是垂直地面向下的,故以水面为参考,将激光雷达所在位置的(x,y,z)坐标设为(0,0,-1);
步骤3:激光雷达点云坐标映射;
由于雷达封装的数据包仅为水平旋转角度和距离参量,为了呈现三维点云图的效果,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的x,y,z坐标。这样,当激光雷达扫描到物体时,会呈现出如图3所示的类似双曲线分布轮廓图。
如图2所示,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的x,y,z坐标,转换关系为
式中,r为实测距离,ω为激光的垂直角度,α为激光的水平旋转角度,x,y,z为极坐标投影到笛卡尔坐标系X,Y,Z轴上的坐标;
步骤4:地面点云分割;
通过三维激光雷达进行障碍物检测的过程中,激光雷达的点云数据是一帧一帧地进行传输的,每一帧激光点云数据不仅包括障碍物信息,同时还存在大量的地面数据,比如湖岸线以及岸上的树木和行人等。而地面分割就是将原始点云数据中的地面点和非地面点进行准确的分割,去除地面上的点云数据,保留非地面点,即水面障碍物信息。通过对地面点云的分割可以减少目标检测过程中来自地面的干扰,提高目标检测的准确度。在平静的水面中,地面点占据了激光点云数据的绝大部分,对地面点进行分割可以在后续处理中减少不必要的计算。
步骤4-1:将激光雷达获取到的单帧点云数据作为输入,定义为Pin;初始化平面模型最大迭代次数Niter和判断数据点是否属于地面点的阈值Thg;
步骤4-2:随机选取种子点,计算平面模型;对地面使用平面模型进行表示:
ax+by+cz=d (1)
其中,a、b、c、d分别为不同的计算出的平面模型参数;
式(1)等号左右同时除以a,得:
进而表示为:
x+αy+βz=χ (2)
其中,α、β、χ分别表示不同的简化后的平面模型参数;
步骤4-3:根据阈值Thg将点云Pin分割为地面点云Pg和非地面点云Png;
步骤4-4:创建两个列表Lg和Lng,将地面点云Pg和非地面点云Png分别加入Lg和Lng;
步骤4-5:重复迭代步骤4-2到步骤4-4,直到最大迭代次数Niter;
步骤4-6:选择迭代过程中包含地面点最多的平面模型作为最优地面模型,并输出对应的地面点云Pg_max和非地面点云Png_min;
步骤5:水面障碍物聚类;
通过地面分割,得到了单帧点云数据的非地面点,根据激光雷达的工作原理可以知道,得到的是大环境下所有障碍物的单点位置信息和强度信息,要想获取真实的障碍物几何形状,位置等特征信息,必须将扫描到的某一障碍物的所有点通过某种规则进行整合。障碍物检测就是通过聚类算法,将点云分割成多个单独的障碍物,从而实现对各障碍物的检测目的。聚类就是根据一组对象中各个元素间在某些属性方面的相似程度,将这些对象分成若干类。
步骤5-1:输入非地面点云Png_min、初始化参数dth、Nmin;dth为判断邻域点是否为同一障碍物的聚类阈值,Nmin为障碍物包含的最小点数;
步骤5-2:根据输入的非地面点云Png_min创建Kd-Tree,Kd-Tree是一种为了对高维度数据快速查询的数据结构。从本质上说其是一种二叉树,Kd-Tree使用二叉树的原理对k维数据进行划分,每一次划分采用数据的不同维度,在本发明处理的点云数据进行Kd-Tree构建的过程中,使用点云x,y,z三个维度,首先按x方向将点云分为两半,然后再按y方向进行对分,接着按照z方向进行对分,再继续循环构建一个多维的对分查找树结构Kd-Tree;
步骤5-3:创建存储聚类对象的列表C和存储被检测点的列表Q,随机选择Png_min的一点pi并将其放入列表Q,然后检索出pi在Png_min中所有距离小于聚类阈值dth的近邻点并将所有/>放入列表Q,然后将Q放入列表C中,作为一种聚类结果,同时清空列表Q;然后继续对Pin的其他点进行相同的操作,直到所有点都被处理完;
步骤5-4:将障碍物列表C中的障碍物点数大于等于Nmin以上的障碍物判定为有效障碍物;Nmin可以过滤由于地面分割不完全或水面涟漪造成的少数噪声点,这样可以甄别出有效的障碍物。
步骤5-5:输出聚类的障碍物列表C;
步骤6:根据障碍物信息进行水面路径规划;通过激光雷达获取到无人船周围的障碍物信息后,根据路径规划算法使无人船在水面上避开障碍物规划出一条路径,以确保可以安全、准确地到达指定的目标点。
步骤6-1:首先产生第一个节点xinit属于自由空间Xfree,在每一次循环中,产生一个随机点xrand,随机点的生成是任意的,即在整个状态空间X内任意地点;
步骤6-2:在产生随机点xrand后,遍历Kd-Tree中的每一个节点,计算每一个节点与本次循环生成的随机点之间的距离,找出距离此随机点xrand最近的节点,记为xnear;
步骤6-3:定义步进变量EPS,当找到xnear时,朝向xnear与xrand连线方向扩展EPS步长,扩展后产生新的节点xnew;
步骤6-4:障碍物的碰撞机制;
为了简化问题,聚类用于路径规划的障碍物均视作较为规则的几何形,如圆,多边形等。
步骤6-4-1:对于圆形障碍物来说,圆形边界的判断属于非线性问题,通常将圆形进行线性化处理(转化为多边形)。只需要判断xnew的横纵坐标是否在圆内,这里我们规定如果xnew位于圆形障碍物的外接正方形内,就视为碰撞。如果圆形障碍物的圆心坐标为(x0,y0),半径为r,考虑无人船的尺寸,对障碍物进行膨化处理,膨胀尺寸inf,所以碰撞条件为:
x0-r-inf<xnew,x<x0+r+inf
y0-r-inf<xnew,y<y0+r+inf
步骤6-4-2:若障碍物为矩形,在扩展KD-Tree的过程中,由xnear到xnew连接的边不能与矩形障碍物的任何一边相交,即将矩形障碍物碰撞检测问题转化为直线与矩形相交问题;直线与矩形相交的判断分为两步:
第一步:判断xnear与xnew是否在矩形同一条边一条边的一侧:如果xnear与xnew在矩形任意一条边的同侧,则xnear与xnew连线必定不与矩形相交;如果xnear与xnew位于同一条边的两侧,则进行第二步判断;
第二步:xnear与xnew在矩形任意一边的不同侧时,分为两种情况:
1、xnew位于矩形内部,则xnear与xnew连线必定与矩形相交;
2、如图4所示,xnear与xnew两点均在矩形外部,当xnear与xnew位于矩形外侧且位于矩形上边的两侧,但两点连线与矩形相交,利用直线与矩形的性质进行避碰计算;
如图5所示,xnear与xnew位于矩形障碍物AB边的两侧且均位于矩形的外侧,两点连线与矩形相交,Dxnear与Axnear是两个边界,即当xnear与xnew连线位于Dxnear与Axnear两直线下方时,xnear与xnew连线必定与矩形相交。反之,若不在Dxnear与Axnear两直线下方则表现为不与障碍物发生碰撞。对于AD边来说必发生碰撞的过程可以用如下公式表示:
式中,k表示直线的斜率。
整个碰撞检测过程的逻辑如下:
对于矩形的一条边设定一个布尔值booli,当booli=1时,表示发生碰撞,当booli=0时,表示不发生碰撞。
定义一个判断函数judge(M,N,P),其中:
M=(x1,y1),N=(x2,y2),P=(x,y)
judge(M,N,P)=((y-y1)(x2-x1)>(y2-y1)(x-x1))
所以judge函数是一个布尔函数,当等式右边为真时judge=1,反之judge=0。则对于每一个边,判断逻辑可以写成
booli=(judge(xnear,Vertex1,Vertex2)≠judge(xnew,Vertex1,Vertex2))
and
(judge(xnear,xnew,Vertex1)≠judge(xnear,xnew,Vertex2))
式中,Vertexi表示矩形障碍物某一条边的两个定点。
针对图5中的具体情况:
布尔函数表示为:
booli=(judge(xnear,A,D)≠judge(xnew,A,D))
and
(judge(xnear,xnew,A)≠judge(xnear,xnew,D))
首先判断且逻辑左半部分,
judge(xnear,A,D)=((yD-y1)(xA-x1)>(yA-y1)(xD-x1))=1
judge(xnew,A,D)=((yD-y2)(xA-x2)>(yA-y2)(xD-x2))=0
所以,(judge(xnear,A,D)≠judge(xnew,A,D))=1,意味着xnear与xnew位于AD边的两侧。
接着判断且逻辑的右半部分,
judge(xnear,xnew,A)=((yA-y1)(x2-x1)>(y2-y1)(xA-x1))=0
judge(xnew,xnew,D)=((yD-y1)(x2-x1)>(y2-y1)(xD-x1))=1
所以,(judge(xnear,xnew,D)≠judge(xnear,xnew,D))=1,意味着xnear与xnew连线位于Dxnear与Axnear两直线下方。根据此判断条件发现,xnew与x″new属于同一种情况,不必再分情况讨论。
因此bool1=1,xnear与xnew连线与矩形这一条边相交,发生碰撞。
bool函数且逻辑左半部分与xnew相同,对于x′new而言,因为且逻辑左半部分判断两点是否在一条边两侧。且逻辑右半部分
judge(xnear,x′new,A)=((yA-y1)(x2-x1)>(y2-y1)(xA-x1))=0
judge(xnew,x′new,D)=((yD-y1)(x2-x1)>(y2-y1)(xD-x1))=0
所以,(judge(xnear,x′new,D)≠judge(xnear,x′new,D))=0,故bool1=0。
因此xnear与x′new连线不会与矩形这一条边相交,不会发生碰撞。
其他边的判断方法是相同的,当且仅当
noColision=(bool1=0&&bool2=0&&bool3=0&&bool4=0)=1
才表明xnear与x′new连线不与矩形相交,不会发生碰撞,也将其视为有效点插入KD-Tree中。
通过对每一个障碍物进行上述逻辑判断使KD-Tree的扩展避开障碍物,从而在Xfree中进行路径规划。
Claims (1)
1.一种基于三维激光雷达的无人船水面目标检测及路径规划方法,其特征在于,包括以下步骤:
步骤1:定义坐标系;
定义船体坐标系oBxByBzB,记为{B};船体坐标系的原点oB为无人船的浮心,轴xB沿船体轴线方向并指向前方,轴yB在水平面内垂直于xB,轴zB垂直水平面向上;
定义激光雷达坐标系oLxLyLzL,记为{L};激光雷达坐标系xL轴和yL轴分别与船体坐标系的xB轴和yB轴方向一致,zL轴方向与船体坐标系的zB轴相反,垂直水平面向下;
步骤2:标定激光雷达参数;
所述激光雷达被固定在无人船顶端,以水面为参考,将激光雷达所在位置的(x,y,z)坐标设为(0,0,-1);
步骤3:激光雷达点云坐标映射;
将极坐标下的角度和距离信息转化为笛卡尔坐标系下的x,y,z坐标,转换关系为
式中,r为实测距离,ω为激光的垂直角度,α为激光的水平旋转角度,x,y,z为极坐标投影到笛卡尔坐标系X,Y,Z轴上的坐标;
步骤4:地面点云分割;
步骤4-1:将激光雷达获取到的单帧点云数据作为输入,定义为Pin;初始化平面模型最大迭代次数Niter和判断数据点是否属于地面点的阈值Thg;
步骤4-2:随机选取种子点,计算平面模型;对地面使用平面模型进行表示:
ax+by+cz=d (1)
其中,a、b、c、d分别为不同的计算出的平面模型参数;
式(1)等号左右同时除以a,得:
进而表示为:
x+αy+βz=χ (2)
其中,α、β、χ分别表示不同的简化后的平面模型参数;
步骤4-3:根据阈值Thg将点云Pin分割为地面点云Pg和非地面点云Png;
步骤4-4:创建两个列表Lg和Lng,将地面点云Pg和非地面点云Png分别加入Lg和Lng;
步骤4-5:重复迭代步骤4-2到步骤4-4,直到最大迭代次数Niter;
步骤4-6:选择迭代过程中包含地面点最多的平面模型作为最优地面模型,并输出对应的地面点云Pg_max和非地面点云Png_min;
步骤5:水面障碍物聚类;
步骤5-1:输入非地面点云Png_min、初始化参数dth、Nmin;dth为判断邻域点是否为同一障碍物的聚类阈值,Nmin为障碍物包含的最小点数;
步骤5-2:根据输入的非地面点云Png_min创建Kd-Tree,Kd-Tree使用二叉树原理对点云数据进行划分,使用点云x,y,z三个维度,首先按x方向将点云分为两半,然后再按y方向进行对分,接着按照z方向进行对分,再继续循环构建一个多维的对分查找树结构Kd-Tree;
步骤5-3:创建存储聚类对象的列表C和存储被检测点的列表Q,随机选择Png_min的一点pi并将其放入列表Q,然后检索出pi在Png_min中所有距离小于聚类阈值dth的近邻点并将所有/>放入列表Q,然后将Q放入列表C中,作为一种聚类结果,同时清空列表Q;然后继续对Pin的其他点进行相同的操作,直到所有点都被处理完;
步骤5-4:将障碍物列表C中的障碍物点数大于等于Nmin以上的障碍物判定为有效障碍物;
步骤5-5:输出聚类的障碍物列表C;
步骤6:根据障碍物信息进行水面路径规划;
步骤6-1:首先产生第一个节点xinit属于自由空间Xfree,在每一次循环中,产生一个随机点xrand,随机点的生成是任意的,即在整个状态空间X内任意地点;
步骤6-2:在产生随机点xrand后,遍历Kd-Tree中的每一个节点,计算每一个节点与本次循环生成的随机点之间的距离,找出距离此随机点xrand最近的节点,记为xnear;
步骤6-3:定义步进变量EPS,当找到xnear时,朝向xnear与xrand连线方向扩展EPS步长,扩展后产生新的节点xnew;
步骤6-4:障碍物的碰撞机制;
步骤6-4-1:若障碍物为近似圆形,将圆形障碍物进行线性化处理,判断xnew的横纵坐标是否在圆内:如果xnew位于圆形障碍物的外接正方形内,就视为碰撞;
如果圆形障碍物的圆心坐标为(x0,y0),半径为r,考虑无人船的尺寸,对障碍物进行膨化处理,膨胀尺寸inf,所以碰撞条件为:
x0-r-inf<xnew,x<x0+r+inf
y0-r-inf<xnew,y<y0+r+inf
步骤6-4-2:若障碍物为矩形,在扩展KD-Tree的过程中,由xnear到xnew连接的边不能与矩形障碍物的任何一边相交,即将矩形障碍物碰撞检测问题转化为直线与矩形相交问题;直线与矩形相交的判断分为两步:
第一步:判断xnear与xnew是否在矩形同一条边一条边的一侧:如果xnear与xnew在矩形任意一条边的同侧,则xnear与xnew连线必定不与矩形相交;如果xnear与xnew位于同一条边的两侧,则进行第二步判断;
第二步:xnear与xnew在矩形任意一边的不同侧时,分为两种情况:
1)、xnew位于矩形内部,则xnear与xnew连线必定与矩形相交;
2)、xnear与xnew两点均在矩形外部,当xnear与xnew位于矩形外侧且位于矩形上边的两侧,但两点连线与矩形相交,利用直线与矩形的性质进行避碰计算;
通过对每一个障碍物进行上述逻辑判断使KD-Tree的扩展避开障碍物,从而在Xfree中进行路径规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244235.5A CN113031004B (zh) | 2021-03-05 | 2021-03-05 | 基于三维激光雷达的无人船水面目标检测及路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244235.5A CN113031004B (zh) | 2021-03-05 | 2021-03-05 | 基于三维激光雷达的无人船水面目标检测及路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113031004A CN113031004A (zh) | 2021-06-25 |
CN113031004B true CN113031004B (zh) | 2024-04-16 |
Family
ID=76468006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110244235.5A Active CN113031004B (zh) | 2021-03-05 | 2021-03-05 | 基于三维激光雷达的无人船水面目标检测及路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113031004B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778099A (zh) * | 2021-09-16 | 2021-12-10 | 浙江大学湖州研究院 | 基于NDT算法和Hybrid A*算法的无人船路径规划方法 |
CN114063619B (zh) * | 2021-11-15 | 2023-09-19 | 浙江大学湖州研究院 | 一种基于地毯式扫描方式的无人船探破障方法 |
CN114355914B (zh) * | 2021-12-27 | 2022-07-01 | 盐城工学院 | 用于无人船的自主巡航系统及控制方法 |
CN114355381B (zh) * | 2021-12-31 | 2022-09-09 | 安徽海博智能科技有限责任公司 | 激光雷达点云质量检测与提升方法 |
CN117848350B (zh) * | 2024-03-05 | 2024-05-07 | 湖北华中电力科技开发有限责任公司 | 面向输电线路建设工程的无人机航线规划方法 |
CN118002344B (zh) * | 2024-04-10 | 2024-06-07 | 深圳玩智商科技有限公司 | 一种用于激光雷达喷淋系统的喷淋方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105929824A (zh) * | 2016-05-12 | 2016-09-07 | 哈尔滨工程大学 | 一种基于几何绕行原理的uuv二维航路规划方法 |
CN106204705A (zh) * | 2016-07-05 | 2016-12-07 | 长安大学 | 一种基于多线激光雷达的3d点云分割方法 |
CN109144072A (zh) * | 2018-09-30 | 2019-01-04 | 亿嘉和科技股份有限公司 | 一种基于三维激光的机器人智能避障方法 |
CN110497403A (zh) * | 2019-08-05 | 2019-11-26 | 上海大学 | 一种改进双向rrt算法的机械臂运动规划方法 |
CN111678523A (zh) * | 2020-06-30 | 2020-09-18 | 中南大学 | 一种基于star算法优化的快速bi_rrt避障轨迹规划方法 |
CN111707269A (zh) * | 2020-06-23 | 2020-09-25 | 东南大学 | 一种三维环境下的无人机路径规划方法 |
-
2021
- 2021-03-05 CN CN202110244235.5A patent/CN113031004B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105929824A (zh) * | 2016-05-12 | 2016-09-07 | 哈尔滨工程大学 | 一种基于几何绕行原理的uuv二维航路规划方法 |
CN106204705A (zh) * | 2016-07-05 | 2016-12-07 | 长安大学 | 一种基于多线激光雷达的3d点云分割方法 |
CN109144072A (zh) * | 2018-09-30 | 2019-01-04 | 亿嘉和科技股份有限公司 | 一种基于三维激光的机器人智能避障方法 |
CN110497403A (zh) * | 2019-08-05 | 2019-11-26 | 上海大学 | 一种改进双向rrt算法的机械臂运动规划方法 |
CN111707269A (zh) * | 2020-06-23 | 2020-09-25 | 东南大学 | 一种三维环境下的无人机路径规划方法 |
CN111678523A (zh) * | 2020-06-30 | 2020-09-18 | 中南大学 | 一种基于star算法优化的快速bi_rrt避障轨迹规划方法 |
Non-Patent Citations (1)
Title |
---|
一种自主水下航行器路径规划算法;崔荣鑫;徐德民;严卫生;系统仿真学报;20061231(第012期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113031004A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113031004B (zh) | 基于三维激光雷达的无人船水面目标检测及路径规划方法 | |
Polvara et al. | Obstacle avoidance approaches for autonomous navigation of unmanned surface vehicles | |
WO2022007859A1 (zh) | 激光雷达参数调整方法、装置及激光雷达 | |
US8260539B2 (en) | Object and vehicle detection and tracking using 3-D laser rangefinder | |
JP6978870B2 (ja) | 大幅に異なる誤差の大きさを有するデータを使用した空間フィルタ処理のシステム及び方法 | |
CN112513679B (zh) | 一种目标识别的方法和装置 | |
CN112394726B (zh) | 一种基于证据理论的无人船障碍物融合检测方法 | |
CN114241211B (zh) | 基于激光雷达点云特征的岸线提取方法 | |
CN113177593B (zh) | 一种水上交通环境中雷达点云与影像数据的融合方法 | |
CN110815202A (zh) | 障碍物检测方法及装置 | |
CN114663526A (zh) | 障碍物检测方法、装置、机器人及计算机可读存储介质 | |
US11668799B2 (en) | Histogram based L-shape detection of target objects | |
Li et al. | A fast segmentation method of sparse point clouds | |
Lee et al. | Data association for autonomous ships based on virtual simulation environment | |
Liu et al. | A localizability estimation method for mobile robots based on 3d point cloud feature | |
CN112651405B (zh) | 目标检测方法及装置 | |
Suzuki et al. | Model-based vehicle position estimation using millimeter wave radar | |
Qingqing et al. | Detecting water reflection symmetries in point clouds for camera position calibration in unmanned surface vehicles | |
CN114089376A (zh) | 一种基于单激光雷达的负障碍物检测方法 | |
Li et al. | Algorithm of obstacle avoidance for autonomous surface vehicles based on LIDAR detection | |
JP2005114416A (ja) | 擾乱検出装置 | |
Rodin et al. | The challenge of measuring distance to obstacles for the purpose of generating a 2-D indoor map using an autonomous robot equipped with an ultrasonic sensor | |
Merten | The three-dimensional normal-distributions transform | |
Feixiang et al. | Research on Marine Buoy Surface Reconstruction Algorithm Based on Point Cloud Data | |
Bai | Accurate obstacle prediction method in unmanned vehicle driving. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |