基于DWA的机器人在狭窄环境局部路径规划方法、设备和存储介质与流程

文档序号:33649003发布日期:2023-03-29 06:31阅读:125来源:国知局
基于DWA的机器人在狭窄环境局部路径规划方法、设备和存储介质与流程
基于dwa的机器人在狭窄环境局部路径规划方法、设备和存储介质
技术领域
1.本发明涉及路径规划领域,具体涉及基于dwa的激光雷达机器人在狭窄环境的局部路径规划方法、设备和存储介质。


背景技术:

2.随着自主机器人相关技术的发展,它们在更广泛的场景中被使用、并被赋予更繁琐的任务,比如智能物流、智能家居、紧急救援和空间探索等。这些复杂和动态的环境对机器人的路径规划能力提出新的挑战。
3.当机器人事先拥有先验的环境信息时,许多算法可以规划出一条从起始位置到目标位置的路径,这被称为全局路径规划。然而,当机器人在执行前述任务时,环境中的各种动态因素会影响或限制其稳定的运动,比如极端的气候条件、动态移动的物体、复杂的地形等,这时就需要机器人携带的各种传感器实时检测周围信息并由局部路径规划器规划出局部路径。因此,现代机器人一般以全局路径规划作为指引、实际局部路径规划。
4.现有局部路径规划方法在狭窄通道表现不佳,存在产生碰撞、耗时长和路径不平滑的问题。


技术实现要素:

5.为克服上述背景技术中现有局部路径规划方法在狭窄通道表现不佳,存在产生碰撞、耗时长和路径不平滑的缺点,本发明的目的在于提供一种基于dwa的机器人在狭窄环境局部路径规划方法。
6.为了达到以上目的,本发明采用如下的技术方案:
7.本发明的第一方面,提供一种基于dwa的机器人在狭窄环境局部路径规划方法,包括,
8.利用激光雷达机器人slam建图构建全局地图并获取所述机器人的起始位置和目标位置;
9.在构建的所述全局地图中,利用a*算法进行全局路径规划;
10.利用激光雷达所采集的数据信息,判断是否存在障碍物,若存在,则调用dwa算法进行局部路径规划,选择若干条有效路径,避开障碍物;
11.根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,所述评价函数包括夹角、距离、速度和偏移评价因子;
12.评价函数如下:
13.g(v,ω)=σ
·

·
heading(v,w)+β
·
dist(v,ω)+γ
·
velocity(v,ω)+δ
·
deviation(v,ω))
14.夹角评价因子如下:
15.heading(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与目标位置之间的
夹角;
16.距离评价因子如下:
17.dist(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与障碍物之间的距离;
18.速度评价因子如下:
19.velovity(v,w)表示速度组合(v,w)对应的机器人运动轨迹的线速度值和角速度值;
20.偏移评价因子如下:
21.deviation(v,w)表示速度组合(v,w)对应的机器人当前行驶方向与全局地图中当前通道墙体的偏角;
22.α、β、γ和δ分别为上述夹角、距离、速度、偏移各评价因子项的加权系数,对四项评价因子进行归一化处理,所述归一化处理具体如下:
[0023][0024][0025][0026][0027][0028]
其中,a为机器人行驶方向与通道墙体的偏角,θ是所选定的激光雷达的两条射线m和n的夹角;
[0029]
将所述评价值最好的轨迹对应的当前速度组合通过ros发送给机器人,控制机器人根据当前速度组合中的速度信息进行移动。
[0030]
在一些可能的实施方式中,所述dwa算法包括:
[0031]
根据机器人自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
[0032]
所述机器人直线行驶速度和旋转角速度组成一个速度组合(v,ω);
[0033]
根据机器人的运动模型对不同的所述速度组合(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度组合。
[0034]
在一些可能的实施方式中,所述机器人模型包括,
[0035]
采用机器人轨迹是圆弧的机器人运动模型;
[0036]
定义机器人的运行轨迹为一条弧线,当轨迹为直线时旋转角度为0,每一个所述速
度组合(v,ω)都唯一的对应一条轨迹;
[0037]
机器人在t时刻的轨迹半径表示为:
[0038][0039]
当所述机器人是差速区分时,其只能向前移动和旋转,因此,当旋转角速度ω不为零时,机器人的运动轨迹为圆弧,其位姿计算公式如下:
[0040][0041][0042]
θ
t+1
=θ
t
+ωtδt
[0043]
其中,(x
t
,y
t
)表示机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,θ
t
为机器人在t时刻的航向角;
[0044]
(x
t+1
,y
t+1
)表示机器人的两个驱动轮的连线中点在t+1时刻在全局坐标系中的坐标,θ
t+1
为机器人在t+1时刻的航向角,δt为时刻t到时刻t+1的时间差。
[0045]
在一些可能的实施方式中,对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样。
[0046]
在一些可能的实施方式中,所述机器人硬件性能存在限制,其速度和角速度都存在界限,对机器人最高和最低速度的限制,即所述矢量速度空间的取值范围表示为:
[0047]vm
={v∈[v
min
,v
max
],ω∈[ω
min
,ω
max
]}
[0048]
其中,v
min
、v
max
为机器人的最小、最大线速度,ω
min
、ω
max
为机器人的最小、最大角速度。
[0049]
在一些可能的实施方式中,所述机器人有限的电机性能也会约束其最大、最小加速度,所述机器人在时间差内线速度和角速度的变化量的取值范围表示为,
[0050][0051]
其中,v
t+1
是机器人在时刻t+1的线速度,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,δt为时刻t到时刻t+1的时间差;和vd是机器人最大线加速度和最大线减速度;ωa和ωd是机器人最大角加速度和最大角减速度。
[0052]
在一些可能的实施方式中,若使所述机器人在与障碍物发生碰撞前能够停下来,则应当与障碍物之间保持一定的安全距离,其对机器人的最大线减速度和最大角减速度的取值范围表示为:
[0053][0054]
其中,dist(v,ω)为速度组合(v,ω)对应的轨迹到障碍物最近的距离。
[0055]
本发明的第二方面,提供一种基于dwa的机器人在狭窄环境局部路径规划设备,包括,
[0056]
构图模块:利用机器人slam建图构建全局地图并获取所述机器人的起始位置和目标位置;
[0057]
全局路径规划模块:在构建的所述全局地图中,利用a*算法进行全局路径规划;
[0058]
局部路径规划模块:利用激光雷达所采集的数据信息,判断是否存在障碍物,若存在,则调用dwa算法进行局部路径规划,选择若干条有效路径,避开障碍物;
[0059]
其中,所述dwa算法包括:
[0060]
根据机器人自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
[0061]
所述机器人直线行驶速度和旋转角速度组成一个速度组合(v,ω);
[0062]
根据机器人的运动模型对不同的所述速度组合(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度组合;
[0063]
所述机器人模型包括,
[0064]
采用机器人轨迹是圆弧的机器人运动模型;
[0065]
定义机器人的运行轨迹为一条弧线,当轨迹为直线时旋转角度为0,每一个所述速度组合(v,ω)都唯一的对应一条轨迹;
[0066]
机器人在t时刻的轨迹半径表示为:
[0067][0068]
当所述机器人是差速区分时,其只能向前移动和旋转,因此,当旋转角速度ω不为零时,机器人的运动轨迹为圆弧,其位姿计算公式如下:
[0069][0070][0071]
θ
t+1
=θ
t

t
δt
[0072]
其中,(x
t
,y
t
)表示机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,θ
t
为机器人在t时刻的航向角;
[0073]
(x
t+1
,y
t+1
)表示机器人的两个驱动轮的连线中点在t+1时刻在全局坐标系中的坐标,θ
t+1
为机器人在t+1时刻的航向角,δt为时刻t到时刻t+1的时间差;
[0074]
对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样;
[0075]
所述机器人硬件性能存在限制,其速度和角速度都存在界限,对机器人最高和最低速度的限制,即所述矢量速度空间的取值范围表示为:
[0076]vm
={v∈[v
min
,v
max
],ω∈[ω
min
,ω
max
]}
[0077]
其中,v
min
、v
max
为机器人的最小、最大线速度,ω
min
、ω
max
为机器人的最小、最大角速度;
[0078]
所述机器人有限的电机性能也会约束其最大、最小加速度,所述机器人在时间差内线速度和角速度的变化量的取值范围表示为,
[0079][0080]
其中,v
t+1
是机器人在时刻t+1的线速度,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,δt为时刻t到时刻t+1的时间差;和vd是机器人最大线加速度和最大线减速度;ωa和ωd是机器人最大角加速度和最大角减速度。
[0081]
若使所述机器人在与障碍物发生碰撞前能够停下来,则应当与障碍物之间保持一定的安全距离,其对机器人的最大线减速度和最大角减速度的取值范围表示为:
[0082][0083]
其中,dist(v,ω)为速度组合(v,ω)对应的轨迹到障碍物最近的距离;
[0084]
评价模块:根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,所述评价函数包括夹角、距离、速度和偏移评价因子;
[0085]
评价函数如下:
[0086]
g(v,ω)=σ
·

·
heading(v,w)+β
·
dist(v,ω)+γ
·
velocity(v,ω)+δ
·
deviation(v,ω))
[0087]
夹角评价因子如下:
[0088]
heading(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与目标位置之间的夹角;
[0089]
距离评价因子如下:
[0090]
dist(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与障碍物之间的距离;
[0091]
速度评价因子如下:
[0092]
velovity(v,w)表示速度组合(v,w)对应的机器人运动轨迹的线速度值和角速度值;
[0093]
偏移评价因子如下:
[0094]
deviation(v,w)表示速度组合(v,w)对应的机器人当前行驶方向与全局地图中当前通道墙体的偏角;
[0095]
α、β、γ和δ分别为上述夹角、距离、速度、偏移各评价因子项的加权系数,对四项评价因子进行归一化处理,所述归一化处理具体如下:
[0096][0097][0098][0099][0100][0101]
其中,a为机器人行驶方向与通道墙体的偏角,θ是所选定的激光雷达的两条射线m和n的夹角;
[0102]
控制模块:将所述评价值最好的轨迹对应的当前速度组合通过ros发送给机器人,控制机器人根据当前速度组合中的速度信息进行移动。
[0103]
在一些可能的实施方式中,对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样。
[0104]
本发明的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于dwa的机器人在狭窄环境局部路径规划方法的步骤。
[0105]
本发明的有益效果在于:本发明针对原dwa算法被应用于局部路径规划时存在的不足,尤其是在机器人通过连续狭窄的通道时,可能会出现撞墙、反复震荡、陷入局部困境并停止等问题,做了相应改进。本发明中所使用的的改进的dwa算法,是在原dwa算法轨迹评价函数中添加了偏移评价因子deviation(v,ω),这样相较于原dwa算法在进行路径规划时,改进后的算法将与通道墙面的偏角纳入评价体系,能够更好的使机器人选择,即使其在狭窄通道中的路径保持为一条平行于通道两侧墙面的直线,进一步降低了机器人撞墙、震荡、摆动、停止的可能性,提高了机器人在狭窄通道中导航的表现。
附图说明
[0106]
图1为本发明实施例基于dwa的机器人在狭窄环境局部路径规划方法的整体步骤
流程图;
[0107]
图2为本发明实施例仿真实验搭建的场景示意图;
[0108]
图3为本发明实施例真实实验搭建的场景示意图;
[0109]
图4为本发明实施例机器人航向与通道墙面的距离和偏角的示意图;
[0110]
图5为本发明实施例机器人沿偏角a在δt时间内的行驶距离l的示意图;
[0111]
图6为本发明实施例利用slam技术对图2建立的地图;
[0112]
图7为本发明实施例利用slam技术对图3建立的地图;
[0113]
图8为在ob段使用原始dwa算法时机器人所行驶的路线图;
[0114]
图9为本发明实施例在ob段使用本方法时机器人所行驶的路线图;
[0115]
图10为在oa段使用原始dwa算法时机器人所行驶的路线图;
[0116]
图11为本发明实施例在oa段使用本方法时机器人所行驶的路线图;
[0117]
图12为在ob段使用原始dwa算法时机器人的线速度和角速度变化示意图;
[0118]
图13为本发明实施例在ob段使用本方法时机器人的线速度和角速度;
[0119]
图14为在ob段使用优化dwa算法时机器人的线速度和角速度;
[0120]
图15为本发明实施例在ob段使用本方法时机器人的线速度和角速度;
[0121]
图16为本发明实施例狭窄环境下局部路径规划设备的结构示意图。
具体实施方式
[0122]
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0123]
参见附图1所示,提供一种基于dwa的机器人在狭窄环境局部路径规划方法,包括,
[0124]
s1:利用激光雷达机器人slam建图构建全局地图并获取所述机器人的起始位置和目标位置,具体为:以搭建的包含多个连续的狭窄通道的环境作为研究对象,利用slam技术融合机器人传感器所获得的感知信息,通过gmapping算法(对仿真场景)和cartographer算法(对真实场景)建立栅格地图,如前所述,本实施例旨在通过狭窄的通道提高当地规划者在ros上的表现。为了实现路径规划,采用适当的方法生成了两张分辨率为0.01pix/m的地图(包括仿真实验场景的地图和对真实实验场景的地图)。
[0125]
对仿真实验场景的建图,参见附图2和附图6所示:使用gmapping构建仿真环境的地图:gmapping可以完成基于rao-blackwell粒子过滤器的2d lidar的2d栅格地图构建,它对扫描频率和计算量的要求较低,但具有较高的测绘精度。
[0126]
对真实实验场景的建图,参见附图3和附图7所示:使用cartographer构建真实环境的地图:cartographer是一种基于图形优化的测绘和定位算法,它由global slam和local slam组成,global slam负责利用里程计、lidar和imu等传感器的数据构建子地图,local slam负责环路检测和后端优化,将子地图组合成地图。
[0127]
路标点定义:为了观察和记录运动数据,在模拟地图和真实地图中定义的三个路点a、b和o之间进行导航,在每一次测试中,机器人都会从原始点o移动到a或b。
[0128]
s2:在构建的所述全局地图中,利用a*算法进行全局路径规划,寻找全局最优路径;当机器人沿着全局最优路径运动时,利用机器人所携带的传感器实时检测局部环境信息更新地图信息。其中还需要说明的是:机器人在运动过程中,选择局部地图更新策略并利
用自身携带的激光雷达传感器不断实时检测周围环境信息动态变化;将检测的结果与当栅格地图做对比,若不同,则存在障碍物,更新描述环境的栅格地图并进行避障规划路径;若相同,则继续沿着全局路径运动前行检测环境信息。
[0129]
s3:利用激光雷达所采集的数据信息,判断是否存在障碍物,若存在,则调用dwa算法进行局部路径规划,选择若干条有效路径,避开障碍物;
[0130]
所述dwa算法包括:
[0131]
根据机器人自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
[0132]
所述机器人直线行驶速度和旋转角速度组成一个速度组合(v,ω);
[0133]
根据机器人的运动模型对不同的所述速度组合(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度组合。
[0134]
所述机器人模型包括,
[0135]
采用机器人轨迹是圆弧的机器人运动模型;
[0136]
定义机器人的运行轨迹为一条弧线,当轨迹为直线时旋转角度为0,每一个所述速度组合(v,ω)都唯一的对应一条轨迹;
[0137]
机器人在t时刻的轨迹半径表示为:
[0138][0139]
当所述机器人是差速区分时,其只能向前移动和旋转,因此,当旋转角速度ω不为零时,机器人的运动轨迹为圆弧,其位姿计算公式如下:
[0140][0141][0142]
θ
t+1
=θ
t

t
δt
[0143]
其中,(x
t
,y
t
)表示机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,θ
t
为机器人在t时刻的航向角;
[0144]
(x
t+1
,y
t+1
)表示机器人的两个驱动轮的连线中点在t+1时刻在全局坐标系中的坐标,θ
t+1
为机器人在t+1时刻的航向角,δt为时刻t到时刻t+1的时间差。
[0145]
对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样。
[0146]
所述机器人硬件性能存在限制,其速度和角速度都存在界限,对机器人最高和最低速度的限制,即所述矢量速度空间的取值范围表示为:
[0147]vm
={v∈[v
min
,v
max
],ω∈[ω
min
,ω
max
]}
[0148]
其中,v
min
、v
max
为机器人的最小、最大线速度,ω
min
、ω
max
为机器人的最小、最大角速度。
[0149]
所述机器人有限的电机性能也会约束其最大、最小加速度,所述机器人在时间差
内线速度和角速度的变化量的取值范围表示为,
[0150][0151]
其中,v
t+1
是机器人在时刻t+1的线速度,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,δt为时刻t到时刻t+1的时间差;和是机器人最大线加速度和最大线减速度;和是机器人最大角加速度和最大角减速度。
[0152]
若使所述机器人在与障碍物发生碰撞前能够停下来,则应当与障碍物之间保持一定的安全距离,其对机器人的最大线减速度和最大角减速度的取值范围表示为:
[0153][0154]
其中,dist(v,ω)为速度组合(v,ω)对应的轨迹到障碍物最近的距离。
[0155]
s4:根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,所述评价函数包括夹角、距离、速度和偏移评价因子;
[0156]
评价函数如下:
[0157]
g(v,ω)=σ
·

·
heading(v,w)+β
·
dist(v,ω)+γ
·
velocity(v,ω)+δ
·
deviation(v,ω))
[0158]
评分最高,即使得g(v,ω)值最大的速度组合(v,ω)为最优速度,它将被发布到ros节点,完成局部轨迹规划。
[0159]
夹角评价因子如下:
[0160]
heading(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与目标位置之间的夹角;
[0161]
距离评价因子如下:
[0162]
dist(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与障碍物之间的距离;
[0163]
速度评价因子如下:
[0164]
velovity(v,w)表示速度组合(v,w)对应的机器人运动轨迹的线速度值和角速度值;
[0165]
偏移评价因子如下:
[0166]
deviation(v,w)表示速度组合(v,w)对应的机器人当前行驶方向与全局地图中当前通道墙体的偏角;
[0167]
α、β、γ和δ分别为上述夹角、距离、速度、偏移各评价因子项的加权系数,对四项评价因子进行归一化处理,所述归一化处理具体如下:
[0168]
[0169][0170][0171][0172][0173]
其中,a为机器人行驶方向与通道墙体的偏角,θ是所选定的激光雷达的两条射线m和n的夹角;
[0174]
机器人中心点与墙体a的距离d为:
[0175]
d=n
·
cos(a)
[0176]
考虑到机器人接收、计算、发出信息皆需要一定时间、且机器人正在移动,使用在当前时刻t机器人中心点与墙体的距离d
t
是不准确的,机器人可能已经撞上通道墙体。因此,将机器人投射到时刻t+1的位置,令机器人在时间δt内移动的距离为l,则在时刻t+1机器人中心点与墙体的距离d
t+1
可以表述为:
[0177]dt+1
=d
t
+l
·
sin(a)
[0178]
参见附图4所示,机器人的轨迹与通道墙面的距离d和夹角a,图4中o代表机器人的中心点;a代表通道的一侧墙面;d是机器人的中心点o与通道墙面a的距离;θ是所选定的激光雷达的两条射线m和n的夹角;a是机器人行驶方向与通道墙面的夹角。
[0179]
参见附图5所示,机器人在时刻t与时刻t+1时,其中心点与墙面的距离d
t
和d
t+1
。o

代表机器人在时刻t+1时机器人的中心点;o代表机器人在时刻t+1时机器人的中心点;d
t
是机器人在时刻t机器人中心点o与通道墙面a的距离,即oa;d
t+1
是机器人在时刻t+1时机器人中心点o

与通道墙面的距离,即o
′a′
;oo

是机器人在时间δt内行驶的距离,即l;error是机器人在时间δt后向通道另一墙面偏移的距离。
[0180]
s5:将所述评价值最好的轨迹对应的当前速度组合通过ros发送给机器人,控制机器人根据当前速度组合中的速度信息进行移动。
[0181]
表二为本发明实施例在ros系统下的参数配置
[0182]
[0183][0184]
调整和修改了算法的一些参数,通过反复在gazebo和rviz中进行仿真实验、在现实世界进行真实实验,其结果表明改进后的dwa算法能够达到预期效果,本发明使机器人能够成功在有多个连续狭窄通道的环境中完成导航,导航时间、路径平滑性、碰撞次数、震荡次数、停止次数等性能指标皆优于原dwa算法,验证了本发明改进算法的有效性和可行性。
[0185]
为了探索和优化原始局部路径规划器在ros上通过狭窄通道的性能,有必要根据所选机器人的尺寸构建合适的场景。此外,由于这项工作是对适用于高铁车厢的自主移动机器人的预研,因此精确地重建现实世界中的整个场景对于验证相关工作的实际效果至关重要。
[0186]
场景描述:在这项工作中,本地路径规划器必须在受限的环境中进行测试。因此,在gazebo设计了一个通道狭窄、死胡同、走廊拥挤的房间,有两扇门作为入口和出口。值得一提的是,由于模拟中使用的机器人与真实机器人不同,因此对这些通道和走廊的横截面长度进行了相应调整,以保持预留空间的一致性。从左上角的点到右下角的点有一条唯一的路径。机器人应通过三个纵向和四个水平窄通道、四个c型弯道和两个u型弯道。图中标出了每段文字的尺寸。参见附图2所示,模拟环境下的垂直通道从左到右的长度分别为470mm、
630mm、420mm和460mm,其中最窄的通道仅为机器人两侧留下57mm。从上到下,横向通道的长度分别为450mm、550mm和530mm,其中最窄的通道仅为机器人两侧留下72mm。参见附图3所示,真实环境下垂直通道的长度从左到右分别为800mm、820mm、720mm和720mm,其中最窄的通道仅为机器人两侧留下75mm。从上到下,横向通道的长度分别为780mm、750mm、720mm和760mm,其中最窄的通道仅为机器人两侧留下75mm。
[0187]
机器人描述:模拟中使用了仿真机器人(turtlebot3 waffle pi),它是一个带有360
°
激光的差动驱动机器人,其urdf(通用机器人描述格式)文件是开源的[21]。真实实验中使用的机器人是根据高铁车厢定制的。仿真机器人配备了一个摄像头和一个位于顶部中心的激光雷达。真实机器人在中央配备了一个深度摄像头来提供基本的视觉信息,两个激光雷达分别位于左上角和右下角。表二为仿真机器人和真实机器人的详细参数。
[0188]
表二:仿真机器人和真实机器人的详细参数
[0189][0190]
[0191]
测试结果:
[0192]
表三比较机器人与四种不同的局部路径规划方法在仿真中的时间消耗。表中列出了最佳性能和最差性能的时间成本,以及15个测试中的平均值。此外,表中还表明在规划过程中是否发生了碰撞。可以发现,虽然原始的dwa可以完成导航,但可能会发生碰撞,耗时较长。这是因为机器人会通过执行恢复行为和不断倒车多次来纠正自己的位置。采用本方法调整后的dwa有更好的性能,没有更多的碰撞。完成导航的时间消耗平均分别减少15%和7%。
[0193][0194][0195]
参见附图8至附图11所示,分别由dwa和本方法产生的oa段和ob段的机器人运动轨迹。可以发现,道路的平坦度得到了明显的改善。通过不断地反转和旋转来修正方向的次数也大大减少了。参见附图12至附图15所示,机器人前进方向的角速度和线速度的变化趋势。对比发现,采用本发明所述方法的速度变化较小,线速度更平滑,角速度,虽然具有相同的
峰值,但陡度相对减小。这表明,当机器人通过大角度弯道时,不再连续频繁地改变方向,而是倾向于执行多段平滑路径。
[0196]
本实施例还提供一种基于dwa的机器人在狭窄环境局部路径规划设备,参见附图16所示,包括,
[0197]
构图模块:利用机器人slam建图构建全局地图并获取所述机器人的起始位置和目标位置;
[0198]
全局路径规划模块:在构建的所述全局地图中,利用a*算法进行全局路径规划;
[0199]
局部路径规划模块:利用激光雷达所采集的数据信息,判断是否存在障碍物,若存在,则调用dwa算法进行局部路径规划,选择若干条有效路径,避开障碍物;
[0200]
其中,所述dwa算法包括:
[0201]
根据机器人自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
[0202]
所述机器人直线行驶速度和旋转角速度组成一个速度组合(v,ω);
[0203]
根据机器人的运动模型对不同的所述速度组合(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度组合;
[0204]
所述机器人模型包括,
[0205]
采用机器人轨迹是圆弧的机器人运动模型;
[0206]
定义机器人的运行轨迹为一条弧线,当轨迹为直线时旋转角度为0,每一个所述速度组合(v,ω)都唯一的对应一条轨迹;
[0207]
机器人在t时刻的轨迹半径表示为:
[0208][0209]
当所述机器人是差速区分时,其只能向前移动和旋转,因此,当旋转角速度ω不为零时,机器人的运动轨迹为圆弧,其位姿计算公式如下:
[0210][0211][0212]
θ
t+1
=θ
t

t
δt
[0213]
其中,(x
t
,y
t
)表示机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,θ
t
为机器人在t时刻的航向角;
[0214]
(x
t+1
,y
t+1
)表示机器人的两个驱动轮的连线中点在t+1时刻在全局坐标系中的坐标,θ
t+1
为机器人在t+1时刻的航向角,δt为时刻t到时刻t+1的时间差;
[0215]
对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样;
[0216]
所述机器人硬件性能存在限制,其速度和角速度都存在界限,对机器人最高和最低速度的限制,即所述矢量速度空间的取值范围表示为:
[0217]vm
={v∈[v
min
,v
max
],ω∈[ω
min
,ω
max
]}
[0218]
其中,v
min
、v
max
为机器人的最小、最大线速度,ω
min
、ω
max
为机器人的最小、最大角速度;
[0219]
所述机器人有限的电机性能也会约束其最大、最小加速度,所述机器人在时间差内线速度和角速度的变化量的取值范围表示为,
[0220][0221]
其中,v
t+1
是机器人在时刻t+1的线速度,v
t
为机器人在t时刻的线速度,ω
t
为机器人在t时刻的角速度,δt为时刻t到时刻t+1的时间差;va和vd是机器人最大线加速度和最大线减速度;ωa和ωd是机器人最大角加速度和最大角减速度。
[0222]
若使所述机器人在与障碍物发生碰撞前能够停下来,则应当与障碍物之间保持一定的安全距离,其对机器人的最大线减速度和最大角减速度的取值范围表示为:
[0223][0224]
其中,dist(v,ω)为速度组合(v,ω)对应的轨迹到障碍物最近的距离;
[0225]
评价模块:根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,根据评价函数对采样得到的速度矢量相对应的有效路径轨迹进行评价,找出评价值最好的轨迹,所述评价函数包括夹角、距离、速度和偏移评价因子;
[0226]
评价函数如下:
[0227]
g(v,ω)=σ
·

·
heading(v,w)+β
·
dist(v,ω)+γ
·
velocity(v,ω)+δ
·
deviation(v,ω))
[0228]
夹角评价因子如下:
[0229]
heading(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与目标位置之间的夹角;
[0230]
距离评价因子如下:
[0231]
dist(v,w)表示速度组合(v,w)对应的机器人运动轨迹末端与障碍物之间的距离;
[0232]
速度评价因子如下:
[0233]
velovity(v,w)表示速度组合(v,w)对应的机器人运动轨迹的线速度值和角速度值;
[0234]
偏移评价因子如下:
[0235]
deviation(v,w)表示速度组合(v,w)对应的机器人当前行驶方向与全局地图中当前通道墙体的偏角;
[0236]
α、β、γ和δ分别为上述夹角、距离、速度、偏移各评价因子项的加权系数,对四项评价因子进行归一化处理,所述归一化处理具体如下:
[0237][0238][0239][0240][0241][0242]
其中,a为机器人行驶方向与通道墙体的偏角,θ是所选定的激光雷达的两条射线m和n的夹角;
[0243]
控制模块:将所述评价值最好的轨迹对应的当前速度组合通过ros发送给机器人,控制机器人根据当前速度组合中的速度信息进行移动。
[0244]
在一些实施方式中,对于当前时刻位姿确定的所述机器人,每一个速度矢量组合(v
t

t
)都对应唯一的一条运动轨迹以及其时间差内的位姿,因此需要对速度矢量空间进行采样。
[0245]
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于dwa的机器人在狭窄环境局部路径规划方法的步骤。
[0246]
存储介质存储有能够实现上述所有方法的程序指令,其中,该程序指令可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0247]
其中,处理器还可以称为cpu(central processing unit,中央处理单元)。处理器可能是一种集成电路芯片,具有信号的处理能力。处理器还可以是:
[0248]
dsp(digital signal processor,数字信号处理器,数字信号处理器是由大规模或超大规模集成电路芯片组成的用来完成某种信号处理任务的处理器。它是为适应高速实时信号处理任务的需要而逐渐发展起来的。随着集成电路技术和数字信号处理算法的发展,数字信号处理器的实现方法也在不断变化,处理功能不断提高和扩大。)
[0249]
asic(application specific integrated circuit,专用集成电路,即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。
[0250]
fpga(现场可编程门阵列,field programmable gate array)是在pal(programmable array logic,可编程阵列逻辑)、gal(generic array logic,通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
[0251]
通用处理器,所述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0252]
以上实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所做的等效变化或修饰,都应涵盖在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1