CN115712298A - 基于单线激光雷达的机器人在通道中行驶的自主导航方法 - Google Patents

基于单线激光雷达的机器人在通道中行驶的自主导航方法 Download PDF

Info

Publication number
CN115712298A
CN115712298A CN202211309903.9A CN202211309903A CN115712298A CN 115712298 A CN115712298 A CN 115712298A CN 202211309903 A CN202211309903 A CN 202211309903A CN 115712298 A CN115712298 A CN 115712298A
Authority
CN
China
Prior art keywords
robot
point
point cloud
line
field
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.)
Granted
Application number
CN202211309903.9A
Other languages
English (en)
Other versions
CN115712298B (zh
Inventor
梁威
王宏伟
陶磊
李永安
耿毅德
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiyuan University of Technology
Original Assignee
Taiyuan University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Taiyuan University of Technology filed Critical Taiyuan University of Technology
Priority to CN202211309903.9A priority Critical patent/CN115712298B/zh
Publication of CN115712298A publication Critical patent/CN115712298A/zh
Application granted granted Critical
Publication of CN115712298B publication Critical patent/CN115712298B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及一种基于单线激光雷达的机器人在通道中行驶的自主导航方法,属于机器人自主导航技术领域。包括:实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据;对点云数据进行领域聚类,将点云数据划分为多个领域;计算各领域的角点,根据角点对各领域进行分割得到分离的线段;根据各领域分离的线段和路况属性判断机器人当前所处路况;根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿;根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。本发明可以实现机器人在通道中行驶的完全自主导航。

Description

基于单线激光雷达的机器人在通道中行驶的自主导航方法
技术领域
本发明涉及机器人自主导航技术领域,尤其涉及一种基于单线激光雷达的通道机器人自主导航方法。
背景技术
移动机器人的自主导航问题一直是自动控制和机器人应用领域的重要研究课题。在许多情况下,移动机器人在作业范围内行驶的通道非常狭窄,例如中央空调的通风管道中。空调的通风管道在使用中会集聚污物,这不仅降低了空调的工作效率,而且不清洁的空气也影响人体健康,因此需要定期清洗空调的通风管道。然而类似于空调的通风管道这类型的通道通常比较狭窄、黑暗、较为封闭,且考虑到人员安全,通常采用移动的机器人来清洗。
移动的机器人的机体上通常安装若干摄像头及光源,能够随时监测通道内的状况和移动机器人工作情况。但目前移动机器人还不具备完全自主导航能力,故采用拖线或遥控方式控制,由操作人员在通道外进行操作。
目前自主导航方式主要有GPS导航、电磁导航、超声波测距导航等。由于管道中GPS信号会被屏蔽,且电磁导航线不便于布置与维护,因此GPS导航和电磁导航并不适合在室内狭窄的通道中使用。超声波测距传感器成本低,方便搭载在机器人上,可以获取通道机器人与通道壁面相对位置,例如中国发明专利CN201310390231.3,名称为“一种应用于温室的自主移动车辆超声波导航装置”,该专利虽然可以解决在狭窄直道实施往返行走的问题,但通道机器人不能应对各种路口(十字路口、T型路口、拐角等)识别和通行的难题。
综上,目前机器人在通道中行走存在以下问题:(1)还不具备完全自主导航的能力。(2)GPS导航无法在室内通道中使用。(3)巡线导航方式在狭窄通道中实施困难。(4)超声波导航装置在无法估计机器人在各种路口中位姿。
发明内容
为解决上述技术问题,本发明提供一种基于单线激光雷达的机器人在通道中行驶的自主导航方法。所述的技术方案如下:
一种基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,包括如下步骤:
S1,实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据;
S2,对点云数据进行领域聚类,将点云数据划分为多个领域;
S3,计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段;
S4,根据各领域分离的线段和路况属性判断机器人当前所处路况;
S5,根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿;
S6,根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。
可选地,所述S2在对点云数据进行领域聚类,将点云数据划分为多个领域时,包括如下步骤:
S21,从点云数据中筛选距离小于rt的点云数据,并通过如下公式(1)将激光雷达极坐标系下的点云数据转换到平面直角坐标系下:
xi=-Licosθi,yi=-Lisinθi,Li<rt (1)
其中,平面直角坐标系xryr固连于机器人的底盘中心,xr轴为机器人的前进方向,全局直角坐标系xy位于通道入口,单线激光雷达的第一个距离数据为L,L位于xr轴的负向,其它数据沿逆时针方向排列,相邻激光的间隔角为χ;公式(1)中,Li表示点云数据中的第i个距离数据,其对应的极角为θi,点云数据的数目总计为n,rt表示筛选半径且w<rt,w表示通道宽度;
S22,初始化领域分割参数:建立矩阵DS来存放点云序号,其中,同一领域的点云数据的序号位于该矩阵DS的同一行;设置点云数据中的1号点位于矩阵DS的第一行第一列;
S23,依次判断i号点是否为点云数据中的最后一个点n;如果是否,则计算i号点与i+1号点之间的距离ρi;若ρi小于rd,则确定i+1号与i号点属于同一领域,将i+1号记录在矩阵DS的同一行,矩阵DS的列号自增1;若ρi大于等于rd,则确定i+1号与i号点属于不同领域,矩阵DS的行号自增1,列号设置为1;若i号点是最后一个点,则计算n号点与1号点之间的距离,且若这两点之间的距离小于rd,则1号与n号点属于同一领域,矩阵DS的列号自增1;若这两点之间的距离不小于rd,则直接跳转到S24;其中,rd表示聚类半径,0<rd<w;
S24,若1号和n号点属于同一个领域,则将预设的标志位M置1,并将第一行和最后一行合并为一行,并去掉重复的点号,用这些点号覆盖矩阵DS的第一行,接着去掉DS的最后一行;若1号和n号点属于不同领域,则将预设的标志位M置0,然后跳转至S25;
S25,将矩阵DS中非零数据数小于预设数值的行删除,并分别用不同的形状标记不同领域的点云数据。
可选地,所述S3在计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段时,对于任一领域,在计算其点云数据中的角点和分离的线段时,包括如下步骤:
S31,初始化领域分割参数:建立矩阵DL来存放点云序号,其中同一线段的点云数据的序号位于矩阵DL的同一行;设置分割时遍历点云序号的递增量I,并从矩阵DS的第k行的第二个元素开始遍历该领域的点云数据;
S32,依次求解I点两侧的向量
Figure BDA0003906769510000031
Figure BDA0003906769510000032
并计算这两个向量的夹角αI,直到I等于矩阵DS中该行的倒数第二个列号,其中,A和B分别是I点左右两侧的相邻点;
S33,获取αI的最大值,并得到其所对应的下标Λ;
S34,判断αΛ是否小于ψ,如果是,则该领域内无角点,确定该领域内的所有tk个点为一整条直线,直线数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:tk);否则,确定该领域内存在角点Λ,角点数nt自增1;在角点处分离出两条直线段,线段数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:Λ-1),nl再自增1,记录另外一条直线包含的点云序号为:DL(nl,:)=DS(k,Λ+1:tk);其中,‘:’在‘DL(nl,:)’中表示矩阵DL第nl行的所有列元素;‘Λ+1:tk’在‘DS(k,Λ+1:tk)’中表示矩阵DS第k行的第Λ+1列到tk列的元素;其他类似的表示同理;ψ大于0且小于通道壁面间的最小夹角。
可选地,所述S4在根据各领域分离的线段和路况属性判断机器人当前所处路况时,包括如下几种情况:
S41,当各领域的角点数之和与线段数之和为nt=4,nl=8时,确定机器人当前所处路况为十字路口,机器人的候选移动行为包括直行、左转或右转;
S42,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°<a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括左转或右转;
S43,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°<a,L180°>a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或左转;
S44,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°>a,L270°<a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或右转;
S45,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ>0且90°-ε≥|δ|,或者nt=2,nl=4,L90°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为左转;
S46,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ<0且90°-ε≥|δ|,或者nt=2,nl=4,L270°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为右转;
其中,拐角包括左拐角和右拐角,左拐角和右拐角根据机器人右侧相邻两线段的夹角δ的正负值来区分:
Figure BDA0003906769510000041
公式(2)中,k1和k2为两线段的斜率,k1 k2≠-1,ε为一个小角;
Figure BDA0003906769510000042
可选地,所述S5在根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿时,包括:
若机器人处于直道或者从直道进入路口,使用机器人侧后方的两个相邻距离Lj和Lj-1,通过如下公式(3)和公式(4)估计机器人相对于壁面的位姿:
Figure BDA0003906769510000051
Figure BDA0003906769510000052
公式(3)和公式(4)中,偏航角
Figure BDA0003906769510000053
和横偏量
Figure BDA0003906769510000054
由Lj和Lj-1计算得到,Lj-1所对应射线与壁面的夹角γ2由Lj和Lj-1通过余弦定理求得,通道宽度w、Lj和Lj-1所对应射线间的夹角γ1、Lj-1所对应射线与xr轴负向的夹角γ3、Lj-1所对应射线与yr轴负向的夹角γ4均已知,Lj和Lj-1所对应射线根据通道宽度w来选取;
若机器人离开路口进入直道,使用机器人侧前方的两个相邻距离估计机器人相对于壁面的位姿;
若机器人遇到路口,利用分离的线段来估计机器人在路口中的位姿,具体以机器人进路口之前的前进方向为前方,取路口右后侧的两条相邻线段估计机器人相对于壁面的位姿。
可选地,若机器人遇到路口为十字路口,假设机器人离壁面的水平方向和竖直方向距离dh和dv,则通过直线①和②来估计机器人相对于壁面的位姿,①和②通过属于DL矩阵中第一行和第二行的点云来拟合;在估计直线①时,假设待拟合点数为t,那么:
Figure BDA0003906769510000055
公式(5)中,(A+y)(1)表示列向量(A+y)的第一个参数,也即直线的截距,(A+y)(2)为直线的斜率,符号“+”表示伪逆;同理可得dv
那么机器人相对于T型路口或十字中心的的偏航距离为:
Figure BDA0003906769510000056
公式(6)中,
Figure BDA0003906769510000061
为前进方向的偏差,
Figure BDA0003906769510000062
为偏离通道中心线的距离;对于拐角路口来说,偏航距离为两个角点连线的中点坐标值;
机器人在路口中的偏航角通过直线①和如下公式(7)来估计:
Figure BDA0003906769510000063
上述所有可选地技术方案均可任意组合,本发明不对一一组合后的结构进行详细说明。
借由上述方案,本发明的有益效果如下:
通过在机器人上配置单线激光雷达,并通过对扫描到通道壁面的点云数据进行领域聚类和分割得到分离的线段,进而根据各领域分离的线段和路况属性判断机器人当前所处路况,以及根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿,使得机器人在通道中行驶时,可以根据机器人当前所处路况和预设路口执行动作实现自主导航,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏,从而可以避免机器人在通道中偏航。由于本发明基于单线激光雷达来实现,因而既可以在室内导航,也可以实现室外的导航,应用范围广。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1是本发明中机器人及其作业环境示意图。
图2是本发明的流程图。
图3是本发明的聚类结果示意图。
图4是本发明中领域聚类的算法流程图。
图5是本发明中领域分割得到分离的线段的示意图。
图6是本发明中角点识别与领域分割算法的流程图。
图7是T型路口的第一种情况辨识图。
图8是T型路口的第二种情况辨识图。
图9是T型路口的第三种情况辨识图。
图10是第一种拐角类型的辨识图。
图11是第二种拐角类型的辨识图。
图12是本发明中机器人沿直道中心线行走的示意图。
图13是本发明中机器人在十字路口直行时的参考线段示意图。
图14是本发明中机器人在十字路口右转时参考线段变化的示意图。
图15是本发明中机器人在十字路口左转时参考线段变化的示意图。
图16是本发明仿真时在十字路口的聚类分割效果图。
图17是本发明仿真时在T型路口的聚类分割效果图。
图18是本发明仿真时在拐角路口的聚类分割效果图。
图19是本发明的仿真结果图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,其为本发明提供的基于单线激光雷达的机器人在通道中行驶的自主导航方法中机器人的作业环境示意图。本发明中所述的机器人可以为两轮差速驱动的机器人,其底盘中心配置有单线激光雷达,本发明基于单线激光雷达扫描到通道壁面上的点云数据进行自主导航。由于单线激光雷达成本低,且能够有效重构平面路况,因此本发明选择单线激光雷达来感知机器人与通道壁面的相对位姿。本发明中所述的通道可以为中央空调的通风管道等比较闭塞的通道,通道中可以包括直道、拐角、T型路口和十字路口等路况。在本发明提供的方法的基础上,只需要预先给出机器人在路口的执行动作(直行或右转或左转),机器人即可按照其设定的路线(图1所示的虚线)行进。
结合上述内容,如图2所示,本发明提供的基于单线激光雷达的机器人在通道中行驶的自主导航方法,包括如下步骤:
S1,实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据。
S2,对点云数据进行领域聚类,将点云数据划分为多个领域。
具体地,所述S2在对点云数据进行领域聚类,将点云数据划分为多个领域时,如图3所示,以十字路口为例,基本思想为从点云数据中的1号点开始,聚类半径rd以内的点云为同一领域,rd以外为不同领域。如图4所示,具体步骤如下:
S21,从点云数据中筛选距离小于rt的点云数据,并通过如下公式(1)将激光雷达极坐标系下的点云数据转换到平面直角坐标系下:
xi=-Licosθi,yi=-Lisinθi,Li<rt (1)
其中,平面直角坐标系xryr固连于机器人的底盘中心,xr轴为机器人的前进方向,全局直角坐标系xy位于通道入口,单线激光雷达的第一个距离数据为L,L位于xr轴的负向,其它数据沿逆时针方向排列,相邻激光的间隔角为χ;公式(1)中,Li表示点云数据中的第i个距离数据,其对应的极角为θi,点云数据的数目总计为n,rt表示筛选半径且w<rt,w表示通道宽度。
S22,初始化领域分割参数:建立矩阵DS来存放点云序号,其中,同一领域的点云数据的序号位于该矩阵DS的同一行;设置点云数据中的1号点位于矩阵DS的第一行第一列。
S23,依次判断i号点是否为点云数据中的最后一个点n;如果是否,则计算i号点与i+1号点之间的距离ρi;若ρi小于rd,则确定i+1号与i号点属于同一领域,将i+1号记录在矩阵DS的同一行,矩阵DS的列号自增1(col=col+1),DS(row,col)=i+1;若ρi大于等于rd,则确定i+1号与i号点属于不同领域,矩阵DS的行号自增1,列号设置为1;若i号点是最后一个点,则计算n号点与1号点之间的距离,且若这两点之间的距离小于rd,则1号与n号点属于同一领域,矩阵DS的列号自增1,矩阵DS(row,col)=1;若这两点之间的距离不小于rd,则直接跳转到S24;其中,rd表示聚类半径,0<rd<w。
S24,若1号和n号点属于同一个领域,则将预设的标志位M置1,并将第一行和最后一行合并为一行,并去掉重复的点号,用这些点号覆盖矩阵DS的第一行,接着去掉DS的最后一行;若1号和n号点属于不同领域,则将预设的标志位M置0,然后跳转至S25。
S25,将矩阵DS中非零数据数小于预设数值的行删除,并分别用不同的形状标记不同领域的点云数据。预设数值可以根据需要设置为3,由于矩阵DS中的数据主要用于后续的线段拟合,而通常少于三个点的数据不能较好的拟合线段,因此,本发明设置预设数值优选为3。聚类后最终得到如图5所示的不同领域的点云数据,分别用圆圈、方块、三角和五角星标记。
S3,计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段。
具体地,所述S3在计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段时,对于任一领域,在计算其点云数据中的角点和分离的线段时,如图6所示,包括如下步骤:
S31,初始化领域分割参数:建立矩阵DL来存放点云序号,其中同一线段的点云数据的序号位于矩阵DL的同一行;设置分割时遍历点云序号的递增量I,并从矩阵DS的第k行的第二个元素开始遍历该领域的点云数据。
S32,依次求解I点两侧的向量
Figure BDA0003906769510000091
Figure BDA0003906769510000092
并计算这两个向量的夹角αI,直到I等于矩阵DS中该行的倒数第二个列号,其中,A和B分别是I点左右两侧的相邻点。
S33,获取αI的最大值,并得到其所对应的下标Λ。
S34,判断αΛ是否小于ψ,如果是,则该领域内无角点,确定该领域内的所有tk个点为一整条直线,直线数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:tk);否则,确定该领域内存在角点Λ,角点数nt自增1;在角点处分离出两条直线段,线段数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:Λ-1),nl再自增1,记录另外一条直线包含的点云序号为:DL(nl,:)=DS(k,Λ+1:tk);其中,‘:’在‘DL(nl,:)’中表示矩阵DL第nl行的所有列元素;‘Λ+1:tk’在‘DS(k,Λ+1:tk)’中表示矩阵DS第k行的第Λ+1列到tk列的元素;其他类似的表示同理;ψ大于0且小于通道壁面间的最小夹角。
S4,根据各领域分离的线段和路况属性判断机器人当前所处路况。
具体地,结合上述分离的线段和下表1来判别机器人当前所处路况。
Figure BDA0003906769510000101
在具体实现时,如图7至图9所示,根据L,L90°,L180°,L270°与阈值a的关系,机器人在T型路口有三种情况。如图10和图11所示,路口有左拐角和右拐角之分。在上述内容的基础上,所述S4在根据各领域分离的线段和路况属性判断机器人当前所处路况时,包括如下几种情况:
S41,当各领域的角点数之和与线段数之和为nt=4,nl=8时,确定机器人当前所处路况为十字路口,机器人的候选移动行为包括直行、左转或右转;
S42,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°<a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括左转或右转;
S43,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°<a,L180°>a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或左转;
S44,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°>a,L270°<a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或右转;
S45,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ>0且90°-ε≥|δ|,或者nt=2,nl=4,L90°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为左转;
S46,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ<0且90°-ε≥|δ|,或者nt=2,nl=4,L270°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为右转;
其中,拐角包括左拐角和右拐角,左拐角和右拐角根据机器人右侧相邻两线段的夹角δ的正负值来区分:
Figure BDA0003906769510000111
公式(2)中,k1和k2为两线段的斜率,k1 k2≠-1,ε为一个较小的角如1°;
Figure BDA0003906769510000112
S5,根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿。
该步骤为机器人在通道中行走的全域闭环控制算法步骤,用于实时确定机器人在通道中行走时是否发生偏航以及偏航量是多少。
具体地,所述S5在根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿时,有如下情况:
如图12所示,其为机器人沿直道中心线行走的示意图。若机器人处于直道或者从直道进入路口,使用机器人侧后方的两个相邻距离Lj和Lj-1,通过如下公式(3)和公式(4)估计机器人相对于壁面的位姿,这样可以使机器人平稳的通过过渡位置:
Figure BDA0003906769510000113
Figure BDA0003906769510000114
公式(3)和公式(4)中,偏航角
Figure BDA0003906769510000115
和横偏量
Figure BDA0003906769510000116
由Lj和Lj-1计算得到,Lj-1所对应射线与壁面的夹角γ2由Lj和Lj-1通过余弦定理求得,通道宽度w、Lj和Lj-1所对应射线间的夹角γ1、Lj-1所对应射线与xr轴负向的夹角γ3、Lj-1所对应射线与yr轴负向的夹角γ4均已知,Lj和Lj-1所对应射线根据通道宽度w来选取。
若机器人离开路口进入直道,使用机器人侧前方的两个相邻距离,类似的可求得
Figure BDA0003906769510000121
Figure BDA0003906769510000122
若机器人遇到路口,利用分离的线段来估计机器人在路口中的位姿,具体以机器人进路口之前的前进方向为前方,取路口右后侧的两条相邻线段估计机器人相对于壁面的位姿。
进一步地,若机器人遇到路口为十字路口,如图5所示,假设机器人离壁面的水平方向和竖直方向距离dh和dv,则通过图5中所示的直线①和②来估计机器人相对于壁面的位姿直线①和②通过属于DL矩阵中第一行和第二行的点云来拟合;以估计直线①为例,假设待拟合点数为t,那么:
Figure BDA0003906769510000123
公式(5)中,(A+y)(1)表示列向量(A+y)的第一个参数,也即直线的截距,(A+y)(2)为直线的斜率,符号“+”表示伪逆;同理可得dv
那么机器人相对于T型路口或十字中心的的偏航距离为:
Figure BDA0003906769510000124
公式(6)中,
Figure BDA0003906769510000125
为前进方向的偏差,
Figure BDA0003906769510000126
为偏离通道中心线的距离。对于拐角路口来说,偏航距离为两个角点连线的中点坐标值。
机器人在路口中的偏航角通过直线①和如下公式(7)来估计:
Figure BDA0003906769510000127
需要说明的是,机器人在路口通行时,获取其偏航状态的参考线段号是不同的,根本宗旨是以机器人进路口之前的前进方向为前方,取路口右后方的两条线段计算偏航角。以十字路口为例,如图13所示,机器人处于直行状态时,其参考线段号为①和②;当其处于右转状态时,并且首尾点云合并标志位M发生上升沿跳变时,如图14所示,其参考线段号需要从①和②变为③和④;当其处于左转状态时,并且首尾点云合并标志位M发生下降沿跳变时,如图15所示,其参考线段号需要从①和②变为⑦和⑧。其他路口参考线段号如表2所示。
表2
Figure BDA0003906769510000131
S6,根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。
具体地,由于机器人在通道各个位置都能获取其偏航状态,因此可以进行全域闭环控制。机器人在通道中直行是以恒定线速度
Figure BDA0003906769510000132
沿xr方向,转弯均为路口中心进行原地旋转相应的角度。机器人在纠偏时,通过实时调整其角速度来矫正其偏离中心线的程度。
为了验证本发明提出的上述方法的可行性,本发明还提供如下仿真案例:
首先在gazebo物理仿真软件中,如图1所示,gazebo软件中建立通道,通道宽度w为0.8m,并将配备单线激光雷达的两轮差速驱动的机器人放置在其中,激光雷达的激光间隔角为5°。接下来便测试本发明提供的方法。机器人起点为机器人中心距离通道入口0.5m的位置,初始偏航量为0.05m,初始偏航角为10°;给定机器人的行进路线,顺序经过的通行方式为直道、十字路(右转)、直道、T型路口(左转)、直道、90°拐角(左转)、直道、45°拐角(左转),将第二个45°拐角的中心设置为机器人终点。在仿真过程中,传感器采样率和控制器控制率都为10Hz,路况判断的阈值a为0.8米,机器人直行时的线速度为0.1m/s,机器人在路口原地转向时的角速度为0.2rad/s。
首先令机器人静止在路口,通过上述方法估计机器人与通道壁面的相对位姿。图16至图18为聚类及线段分割结果示意图,从图中可以看出该方法很好将激光雷达的点云数据进行聚类分割,准确地识别出了角点数据。提取相关的点云进行参考直线拟合,进而估计出了机器人的偏航量Δx、Δy,以及偏航角β。估计结果如表3所示。
表3
Figure BDA0003906769510000141
从表3可以看出,估计值与实际值的相对误差均在2%以内。如图19所示,其为仿真结果示意图,从图19可以看出,机器人经过第一个路口前,在沿直道中心线行走的闭环控制算法下的很快的纠正了机器人偏航状态,之后机器人的实际轨迹与轨迹基本一致,说明算法是有效的。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (6)

1.一种基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,包括如下步骤:
S1,实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据;
S2,对点云数据进行领域聚类,将点云数据划分为多个领域;
S3,计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段;
S4,根据各领域分离的线段和路况属性判断机器人当前所处路况;
S5,根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿;
S6,根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。
2.根据权利要求1所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,所述S2在对点云数据进行领域聚类,将点云数据划分为多个领域时,包括如下步骤:
S21,从点云数据中筛选距离小于rt的点云数据,并通过如下公式(1)将激光雷达极坐标系下的点云数据转换到平面直角坐标系下:
xi=-Licosθi,yi=-Lisinθi,Li<rt (1)
其中,平面直角坐标系xryr固连于机器人的底盘中心,xr轴为机器人的前进方向,全局直角坐标系xy位于通道入口,单线激光雷达的第一个距离数据为L,L位于xr轴的负向,其它数据沿逆时针方向排列,相邻激光的间隔角为χ;公式(1)中,Li表示点云数据中的第i个距离数据,其对应的极角为θi,点云数据的数目总计为n,rt表示筛选半径且w<rt,w表示通道宽度;
S22,初始化领域分割参数:建立矩阵DS来存放点云序号,其中,同一领域的点云数据的序号位于该矩阵DS的同一行;设置点云数据中的1号点位于矩阵DS的第一行第一列;
S23,依次判断i号点是否为点云数据中的最后一个点n;如果是否,则计算i号点与i+1号点之间的距离ρi;若ρi小于rd,则确定i+1号与i号点属于同一领域,将i+1号记录在矩阵DS的同一行,矩阵DS的列号自增1;若ρi大于等于rd,则确定i+1号与i号点属于不同领域,矩阵DS的行号自增1,列号设置为1;若i号点是最后一个点,则计算n号点与1号点之间的距离,且若这两点之间的距离小于rd,则1号与n号点属于同一领域,矩阵DS的列号自增1;若这两点之间的距离不小于rd,则直接跳转到S24;其中,rd表示聚类半径,0<rd<w;
S24,若1号和n号点属于同一个领域,则将预设的标志位M置1,并将第一行和最后一行合并为一行,并去掉重复的点号,用这些点号覆盖矩阵DS的第一行,接着去掉DS的最后一行;若1号和n号点属于不同领域,则将预设的标志位M置0,然后跳转至S25;
S25,将矩阵DS中非零数据数小于预设数值的行删除,并分别用不同的形状标记不同领域的点云数据。
3.根据权利要求2所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,所述S3在计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段时,对于任一领域,在计算其点云数据中的角点和分离的线段时,包括如下步骤:
S31,初始化领域分割参数:建立矩阵DL来存放点云序号,其中同一线段的点云数据的序号位于矩阵DL的同一行;设置分割时遍历点云序号的递增量I,并从矩阵DS的第k行的第二个元素开始遍历该领域的点云数据;
S32,依次求解I点两侧的向量
Figure FDA0003906769500000021
Figure FDA0003906769500000022
并计算这两个向量的夹角αI,直到I等于矩阵DS中该行的倒数第二个列号,其中,A和B分别是I点左右两侧的相邻点;
S33,获取αI的最大值,并得到其所对应的下标Λ;
S34,判断αΛ是否小于ψ,如果是,则该领域内无角点,确定该领域内的所有tk个点为一整条直线,直线数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:tk);否则,确定该领域内存在角点Λ,角点数nt自增1;在角点处分离出两条直线段,线段数nl自增1,记录该直线包含的点云序号为:DL(nl,:)=DS(k,1:Λ-1),nl再自增1,记录另外一条直线包含的点云序号为:DL(nl,:)=DS(k,Λ+1:tk);其中,‘:’在‘DL(nl,:)’中表示矩阵DL第nl行的所有列元素;‘Λ+1:tk’在‘DS(k,Λ+1:tk)’中表示矩阵DS第k行的第Λ+1列到tk列的元素;其他类似的表示同理;ψ大于0且小于通道壁面间的最小夹角。
4.根据权利要求3所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,所述S4在根据各领域分离的线段和路况属性判断机器人当前所处路况时,包括如下几种情况:
S41,当各领域的角点数之和与线段数之和为nt=4,nl=8时,确定机器人当前所处路况为十字路口,机器人的候选移动行为包括直行、左转或右转;
S42,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°<a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括左转或右转;
S43,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°<a,L180°>a,L270°>a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或左转;
S44,当各领域的角点数之和与线段数之和为nt=2,nl=5,且L>a,L90°>a,L180°>a,L270°<a时,确定机器人当前所处路况为T型路口,机器人的候选移动行为包括直行或右转;
S45,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ>0且90°-ε≥|δ|,或者nt=2,nl=4,L90°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为左转;
S46,当各领域的角点数之和与线段数之和为nt=2,nl=4,δ<0且90°-ε≥|δ|,或者nt=2,nl=4,L270°<a且90°-ε<|δ|时,确定机器人当前所处路况为拐角,机器人的候选移动行为为右转;
其中,拐角包括左拐角和右拐角,左拐角和右拐角根据机器人右侧相邻两线段的夹角δ的正负值来区分:
Figure FDA0003906769500000031
公式(2)中,k1和k2为两线段的斜率,k1 k2≠-1,ε为一个小角;
Figure FDA0003906769500000032
5.根据权利要求3所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,所述S5在根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿时,包括:
若机器人处于直道或者从直道进入路口,使用机器人侧后方的两个相邻距离Lj和Lj-1,通过如下公式(3)和公式(4)估计机器人相对于壁面的位姿:
Figure FDA0003906769500000041
Figure FDA0003906769500000042
公式(3)和公式(4)中,偏航角
Figure FDA0003906769500000043
和横偏量
Figure FDA0003906769500000044
由Lj和Lj-1计算得到,Lj-1所对应射线与壁面的夹角γ2由Lj和Lj-1通过余弦定理求得,通道宽度w、Lj和Lj-1所对应射线间的夹角γ1、Lj-1所对应射线与xr轴负向的夹角γ3、Lj-1所对应射线与yr轴负向的夹角γ4均已知,Lj和Lj-1所对应射线根据通道宽度w来选取;
若机器人离开路口进入直道,使用机器人侧前方的两个相邻距离估计机器人相对于壁面的位姿;
若机器人遇到路口,利用分离的线段来估计机器人在路口中的位姿,具体以机器人进路口之前的前进方向为前方,取路口右后侧的两条相邻线段估计机器人相对于壁面的位姿。
6.根据权利要求5所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,若机器人遇到路口为十字路口,假设机器人离壁面的水平方向和竖直方向距离dh和dv,则通过直线①和②来估计机器人相对于壁面的位姿,①和②通过属于DL矩阵中第一行和第二行的点云来拟合;在估计直线①时,假设待拟合点数为t,那么:
Figure FDA0003906769500000045
y=[y1 y2 … yt]T
Figure FDA0003906769500000046
公式(5)中,(A+y)(1)表示列向量(A+y)的第一个参数,也即直线的截距,(A+y)(2)为直线的斜率,符号“+”表示伪逆;同理可得dv
那么机器人相对于T型路口或十字中心的的偏航距离为:
Figure FDA0003906769500000051
公式(6)中,
Figure FDA0003906769500000052
为前进方向的偏差,
Figure FDA0003906769500000053
为偏离通道中心线的距离;对于拐角路口来说,偏航距离为两个角点连线的中点坐标值;
机器人在路口中的偏航角通过直线①和如下公式(7)来估计:
Figure FDA0003906769500000054
CN202211309903.9A 2022-10-25 2022-10-25 基于单线激光雷达的机器人在通道中行驶的自主导航方法 Active CN115712298B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211309903.9A CN115712298B (zh) 2022-10-25 2022-10-25 基于单线激光雷达的机器人在通道中行驶的自主导航方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211309903.9A CN115712298B (zh) 2022-10-25 2022-10-25 基于单线激光雷达的机器人在通道中行驶的自主导航方法

Publications (2)

Publication Number Publication Date
CN115712298A true CN115712298A (zh) 2023-02-24
CN115712298B CN115712298B (zh) 2023-05-09

Family

ID=85231692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211309903.9A Active CN115712298B (zh) 2022-10-25 2022-10-25 基于单线激光雷达的机器人在通道中行驶的自主导航方法

Country Status (1)

Country Link
CN (1) CN115712298B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018102190A1 (en) * 2016-11-29 2018-06-07 Blackmore Sensors and Analytics Inc. Method and system for classification of an object in a point cloud data set
WO2018133851A1 (zh) * 2017-01-22 2018-07-26 腾讯科技(深圳)有限公司 一种点云数据处理方法、装置及计算机存储介质
CN108765487A (zh) * 2018-06-04 2018-11-06 百度在线网络技术(北京)有限公司 重建三维场景的方法、装置、设备和计算机可读存储介质
CN109297510A (zh) * 2018-09-27 2019-02-01 百度在线网络技术(北京)有限公司 相对位姿标定方法、装置、设备及介质
CN110543169A (zh) * 2019-08-16 2019-12-06 深圳优地科技有限公司 机器人避障方法、装置、机器人及存储介质
CN111208533A (zh) * 2020-01-09 2020-05-29 上海工程技术大学 一种基于激光雷达的实时地面检测方法
CN111272165A (zh) * 2020-02-27 2020-06-12 清华大学 一种基于特征点标定的智能车定位方法
CN111461023A (zh) * 2020-04-02 2020-07-28 山东大学 基于三维激光雷达的四足机器人自主跟随领航员的方法
CN111985322A (zh) * 2020-07-14 2020-11-24 西安理工大学 一种基于激光雷达的道路环境要素感知方法
CN113781639A (zh) * 2021-09-22 2021-12-10 交通运输部公路科学研究所 一种大场景道路基础设施数字化模型快速构建方法
CN114119866A (zh) * 2021-11-12 2022-03-01 东南大学 一种基于点云数据的城市道路交叉口可视化评价方法
CN114488073A (zh) * 2022-02-14 2022-05-13 中国第一汽车股份有限公司 激光雷达采集到的点云数据的处理方法
CN115113620A (zh) * 2022-04-12 2022-09-27 太原理工大学 一种基于阵列测距的通道机器人既定路线导航方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018102190A1 (en) * 2016-11-29 2018-06-07 Blackmore Sensors and Analytics Inc. Method and system for classification of an object in a point cloud data set
WO2018133851A1 (zh) * 2017-01-22 2018-07-26 腾讯科技(深圳)有限公司 一种点云数据处理方法、装置及计算机存储介质
CN108765487A (zh) * 2018-06-04 2018-11-06 百度在线网络技术(北京)有限公司 重建三维场景的方法、装置、设备和计算机可读存储介质
CN109297510A (zh) * 2018-09-27 2019-02-01 百度在线网络技术(北京)有限公司 相对位姿标定方法、装置、设备及介质
CN110543169A (zh) * 2019-08-16 2019-12-06 深圳优地科技有限公司 机器人避障方法、装置、机器人及存储介质
CN111208533A (zh) * 2020-01-09 2020-05-29 上海工程技术大学 一种基于激光雷达的实时地面检测方法
CN111272165A (zh) * 2020-02-27 2020-06-12 清华大学 一种基于特征点标定的智能车定位方法
CN111461023A (zh) * 2020-04-02 2020-07-28 山东大学 基于三维激光雷达的四足机器人自主跟随领航员的方法
CN111985322A (zh) * 2020-07-14 2020-11-24 西安理工大学 一种基于激光雷达的道路环境要素感知方法
CN113781639A (zh) * 2021-09-22 2021-12-10 交通运输部公路科学研究所 一种大场景道路基础设施数字化模型快速构建方法
CN114119866A (zh) * 2021-11-12 2022-03-01 东南大学 一种基于点云数据的城市道路交叉口可视化评价方法
CN114488073A (zh) * 2022-02-14 2022-05-13 中国第一汽车股份有限公司 激光雷达采集到的点云数据的处理方法
CN115113620A (zh) * 2022-04-12 2022-09-27 太原理工大学 一种基于阵列测距的通道机器人既定路线导航方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YI CHENG: "Mobile robot navigation based on lidar" *
匡兵: "一种基于结构化环境的线性距离特征提取算法" *
匡兵: "一种基于结构化环境的线性距离特征提取算法", 《科学技术与工程》 *
赵鹏飞: "基于建筑轮廓自动提取屋脊线的算法" *

Also Published As

Publication number Publication date
CN115712298B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN110262508B (zh) 应用于封闭场地无人驾驶货运车辆上的自动引导系统及方法
CN105511462B (zh) 一种基于视觉的agv导航方法
US20220082403A1 (en) Lane mapping and navigation
CN108052107A (zh) 一种融合磁条、磁钉和惯导的agv室内外复合导航系统及方法
Alonso et al. Accurate global localization using visual odometry and digital maps on urban environments
CN107065887B (zh) 全向移动机器人通道内倒行导航方法
CN109933056B (zh) 一种基于slam的机器人导航方法以及机器人
Madhavan et al. Distributed cooperative outdoor multirobot localization and mapping
CN107085938B (zh) 基于车道线与gps跟随的智能驾驶局部轨迹容错规划方法
CN106774313A (zh) 一种基于多传感器的室外自动避障agv导航方法
KR20140130054A (ko) 무인 운반차, 컴퓨터와 무인 운반차를 가진 시스템, 가상 궤도를 계획하기 위한 방법 및 무인 운반차를 작동하기 위한 방법
CN109782756A (zh) 具有自主绕障行走功能的变电站巡检机器人
CN108549383B (zh) 一种实时多传感器的社区机器人导航方法
CN109477728A (zh) 用于确定车辆相对于路面的车道的横向位置的方法、装置和带有指令的计算机可读存储介质
CN112394725A (zh) 用于自动驾驶的基于预测和反应视场的计划
Asghar et al. Vehicle localization based on visual lane marking and topological map matching
CN114114367A (zh) Agv室外定位切换方法、计算机装置及程序产品
CN116026315B (zh) 一种基于多传感器融合的通风管道场景建模与机器人定位方法
Nakao et al. Path planning and traveling control for pesticide-spraying robot in greenhouse
CN115857504A (zh) 基于dwa的机器人在狭窄环境局部路径规划方法、设备和存储介质
CN111857121A (zh) 基于惯导和激光雷达的巡逻机器人行走避障方法及系统
CN112462762A (zh) 一种基于路侧二维码单元的机器人室外自主移动系统及其方法
CN114879660A (zh) 一种基于目标驱动的机器人环境感知方法
Rozsypálek et al. Multidimensional particle filter for long-term visual teach and repeat in changing environments
CN113029168A (zh) 基于地面纹理信息的地图构建方法和系统及移动机器人

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