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

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

【技术实现步骤摘要】
基于单线激光雷达的机器人在通道中行驶的自主导航方法


[0001]本专利技术涉及机器人自主导航
,尤其涉及一种基于单线激光雷达的通道机器人自主导航方法。

技术介绍

[0002]移动机器人的自主导航问题一直是自动控制和机器人应用领域的重要研究课题。在许多情况下,移动机器人在作业范围内行驶的通道非常狭窄,例如中央空调的通风管道中。空调的通风管道在使用中会集聚污物,这不仅降低了空调的工作效率,而且不清洁的空气也影响人体健康,因此需要定期清洗空调的通风管道。然而类似于空调的通风管道这类型的通道通常比较狭窄、黑暗、较为封闭,且考虑到人员安全,通常采用移动的机器人来清洗。
[0003]移动的机器人的机体上通常安装若干摄像头及光源,能够随时监测通道内的状况和移动机器人工作情况。但目前移动机器人还不具备完全自主导航能力,故采用拖线或遥控方式控制,由操作人员在通道外进行操作。
[0004]目前自主导航方式主要有GPS导航、电磁导航、超声波测距导航等。由于管道中GPS信号会被屏蔽,且电磁导航线不便于布置与维护,因此GPS导航和电磁导航并不适合在室内狭窄的通道中使用。超声波测距传感器成本低,方便搭载在机器人上,可以获取通道机器人与通道壁面相对位置,例如中国专利技术专利CN201310390231.3,名称为“一种应用于温室的自主移动车辆超声波导航装置”,该专利虽然可以解决在狭窄直道实施往返行走的问题,但通道机器人不能应对各种路口(十字路口、T型路口、拐角等)识别和通行的难题。
[0005]综上,目前机器人在通道中行走存在以下问题:(1)还不具备完全自主导航的能力。(2)GPS导航无法在室内通道中使用。(3)巡线导航方式在狭窄通道中实施困难。(4)超声波导航装置在无法估计机器人在各种路口中位姿。

技术实现思路

[0006]为解决上述技术问题,本专利技术提供一种基于单线激光雷达的机器人在通道中行驶的自主导航方法。所述的技术方案如下:
[0007]一种基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,包括如下步骤:
[0008]S1,实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据;
[0009]S2,对点云数据进行领域聚类,将点云数据划分为多个领域;
[0010]S3,计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段;
[0011]S4,根据各领域分离的线段和路况属性判断机器人当前所处路况;
[0012]S5,根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位
姿;
[0013]S6,根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。
[0014]可选地,所述S2在对点云数据进行领域聚类,将点云数据划分为多个领域时,包括如下步骤:
[0015]S21,从点云数据中筛选距离小于r
t
的点云数据,并通过如下公式(1)将激光雷达极坐标系下的点云数据转换到平面直角坐标系下:
[0016]x
i


L
i
cosθ
i
,y
i


L
i
sinθ
i
,L
i
<r
t
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0017]其中,平面直角坐标系x
r
y
r
固连于机器人的底盘中心,x
r
轴为机器人的前进方向,全局直角坐标系xy位于通道入口,单线激光雷达的第一个距离数据为L0°
,L0°
位于x
r
轴的负向,其它数据沿逆时针方向排列,相邻激光的间隔角为χ;公式(1)中,L
i
表示点云数据中的第i个距离数据,其对应的极角为θ
i
,点云数据的数目总计为n,r
t
表示筛选半径且w<r
t
,w表示通道宽度;
[0018]S22,初始化领域分割参数:建立矩阵DS来存放点云序号,其中,同一领域的点云数据的序号位于该矩阵DS的同一行;设置点云数据中的1号点位于矩阵DS的第一行第一列;
[0019]S23,依次判断i号点是否为点云数据中的最后一个点n;如果是否,则计算i号点与i+1号点之间的距离ρ
i
;若ρ
i
小于r
d
,则确定i+1号与i号点属于同一领域,将i+1号记录在矩阵DS的同一行,矩阵DS的列号自增1;若ρ
i
大于等于r
d
,则确定i+1号与i号点属于不同领域,矩阵DS的行号自增1,列号设置为1;若i号点是最后一个点,则计算n号点与1号点之间的距离,且若这两点之间的距离小于r
d
,则1号与n号点属于同一领域,矩阵DS的列号自增1;若这两点之间的距离不小于r
d
,则直接跳转到S24;其中,r
d
表示聚类半径,0<r
d
<w;
[0020]S24,若1号和n号点属于同一个领域,则将预设的标志位M置1,并将第一行和最后一行合并为一行,并去掉重复的点号,用这些点号覆盖矩阵DS的第一行,接着去掉DS的最后一行;若1号和n号点属于不同领域,则将预设的标志位M置0,然后跳转至S25;
[0021]S25,将矩阵DS中非零数据数小于预设数值的行删除,并分别用不同的形状标记不同领域的点云数据。
[0022]可选地,所述S3在计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段时,对于任一领域,在计算其点云数据中的角点和分离的线段时,包括如下步骤:
[0023]S31,初始化领域分割参数:建立矩阵DL来存放点云序号,其中同一线段的点云数据的序号位于矩阵DL的同一行;设置分割时遍历点云序号的递增量I,并从矩阵DS的第k行的第二个元素开始遍历该领域的点云数据;
[0024]S32,依次求解I点两侧的向量和并计算这两个向量的夹角α
I
,直到I等于矩阵DS中该行的倒数第二个列号,其中,A和B分别是I点左右两侧的相邻点;
[0025]S33,获取α
I
的最大值,并得到其所对应的下标Λ;
[0026]S34,判断α
Λ
是否小于ψ,如果是,则该领域内无角点,确定该领域内的所有t
k
个点为一整条直线,直线数n
l
自增1,记录该直线包含的点云序号为:DL(n
l
,:)=DS(k,1:t
k
);否则,确定该领域内存在角点Λ,角点数n
t
自增1;在角点处分离出两条直线段,线段数n...

【技术保护点】

【技术特征摘要】
1.一种基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,包括如下步骤:S1,实时获取机器人在通道内行驶时其上配置的单线激光雷达扫描到通道壁面的点云数据;S2,对点云数据进行领域聚类,将点云数据划分为多个领域;S3,计算各领域的点云数据中的角点,根据各领域的角点分别对各领域进行分割,得到各领域分离的线段;S4,根据各领域分离的线段和路况属性判断机器人当前所处路况;S5,根据各领域分离的线段和点云数据判断机器人所在位置相对于通道壁面的位姿;S6,根据机器人当前所处路况和预设路口执行动作控制机器人在通道中行驶,并在行驶过程中根据机器人所在位置相对于通道壁面的位姿对机器人进行实时纠偏。2.根据权利要求1所述的基于单线激光雷达的机器人在通道中行驶的自主导航方法,其特征在于,所述S2在对点云数据进行领域聚类,将点云数据划分为多个领域时,包括如下步骤:S21,从点云数据中筛选距离小于r
t
的点云数据,并通过如下公式(1)将激光雷达极坐标系下的点云数据转换到平面直角坐标系下:x
i


L
i
cosθ
i
,y
i


L
i
sinθ
i
,L
i
<r
t
ꢀꢀꢀꢀ
(1)其中,平面直角坐标系x
r
y
r
固连于机器人的底盘中心,x
r
轴为机器人的前进方向,全局直角坐标系xy位于通道入口,单线激光雷达的第一个距离数据为L0°
,L0°
位于x
r
轴的负向,其它数据沿逆时针方向排列,相邻激光的间隔角为χ;公式(1)中,L
i
表示点云数据中的第i个距离数据,其对应的极角为θ
i
,点云数据的数目总计为n,r
t
表示筛选半径且w<r
t
,w表示通道宽度;S22,初始化领域分割参数:建立矩阵DS来存放点云序号,其中,同一领域的点云数据的序号位于该矩阵DS的同一行;设置点云数据中的1号点位于矩阵DS的第一行第一列;S23,依次判断i号点是否为点云数据中的最后一个点n;如果是否,则计算i号点与i+1号点之间的距离ρ
i
;若ρ
i
小于r
d
,则确定i+1号与i号点属于同一领域,将i+1号记录在矩阵DS的同一行,矩阵DS的列号自增1;若ρ
i
大于等于r
d
,则确定i+1号与i号点属于不同领域,矩阵DS的行号自增1,列号设置为1;若i号点是最后一个点,则计算n号点与1号点之间的距离,且若这两点之间的距离小于r
d
,则1号与n号点属于同一领域,矩阵DS的列号自增1;若这两点之间的距离不小于r
d
,则直接跳转到S24;其中,r
d
表示聚类半径,0<r
d
<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点两侧的向量和并计算这两个向量的夹角α
I
,直到I等于矩阵DS中该行的倒数第二个列号,其中,A和B分别是I点左右两侧的相邻点;S33,获取α
I
的最大值,并得到其所对应的下标Λ;S34,判断α
Λ
是否小于ψ,如果是,则该领域内无角点,确定该领域内的所有t
k
个点为一整条直线,直线数n
l
自增1,记录该直线包含的点云序号为:DL(n
l
,:)=DS(k,1:t
k
);否则,确定该领域内存在角点Λ,角点数n
t
自增1;在角点处分离出两条直线段,线段数n
l
自增1,记录该直线包含的点云序号为:DL(n
l
,:)=DS(k,1:Λ

1),n
l
再自增1,记录另外一条直线包含的点云序号为:DL(n
l
,:)=DS(k,Λ+1:t
k
);其中,

:



DL(n
l
,:)

中表示矩阵DL第n
l
行的所有列元素;

Λ+1:t
k



DS(k,Λ+1:t
k
)

中表示矩阵DS第k行的第Λ+1列到t
k
列的元素;其他...

【专利技术属性】
技术研发人员:梁威王宏伟陶磊李永安耿毅德李超
申请(专利权)人:太原理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1