System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种机器人禁区脱困方法及其存储介质、电子设备技术_技高网

一种机器人禁区脱困方法及其存储介质、电子设备技术

技术编号:41207805 阅读:2 留言:0更新日期:2024-05-09 23:29
本发明专利技术公开一种机器人禁区脱困方法及其存储介质、电子设备,其包括以下步骤:将机器人获得的传感器点云生成地图;将预设的机器人footprint转置到地图中的机器人当前位姿;搜索机器人footprint的附近点云;判断机器人footprint的前方和/或后方是否存在点云;设置机器人的线速度采样区间;在机器人的速度采样区间条件下,采用局部规划算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的速度作为机器人脱困速度;重复执行上述步骤,直至机器人脱困;采用以上技术方案防止局部规划方法只考虑当前时刻的局部最优解,在时间和空间尺度上反复震荡。

【技术实现步骤摘要】

本专利技术涉及自动控制与机器人导航,尤其涉及一种机器人禁区脱困方法及其存储介质、电子设备


技术介绍

1、目前机器人的自动驾驶的局部规划的主流算法有dwa(dynamic windowapproaches)和teb(timed elastic band)算法,其中dwa算法的基本思路为:在机器人工作空间进行速度离散采样,在代价地图中预测模拟下一段时间内生成的所有运动轨迹(此处的所有运动轨迹为合法运动轨迹,非法轨迹指障碍物发生碰撞的轨迹),并通过评价函数对每个轨迹进行评价,挑出评价得分最高的轨迹并发送相应速度给移动底座,重复上面步骤直至到达目的地。

2、机器人在工作空间中因诸如机器人定位丢失、位置发生跳变、代价地图精度不够等原因,导致机器人陷入禁区之中,使机器人无法及时去往下一个目的地。dwa算法支持后退,一定程度上有一定的脱困效果,但是dwa算法的后退只考虑当前时刻,当前时刻的局部最优解,经常出现机器人在这一时刻认为前进是最优解,而又在下一时刻认为后退是最优解,如此往复循环,不停的前进-后退-前进-后退……的行为,在时间和空间尺度上反复震荡(oscillation,狭义指机器人线速度或角速度在0点附近发生小幅左右摇摆,时正时负),客观上加剧了机器人被困的风险,所以实际使用中往往关闭dwa的后退功能。现有的机器人禁区脱困方法主要是利用代价地图,通过广度优先搜索的方式寻找一个禁区之外,离机器人当前位置最接近的可达点,随即调整机器人位姿,确保朝向脱困可达点;再结合机器人所搭载的多传感器模组,感知机器人当前在禁区中所处的位置和可达点之间的障碍物,随后规划出一条可通行最优路径,沿着这条路径执行运动控制,完成脱困。该方法十分依赖代价地图的精度,代价地图最核心的原理是将地图离散化为一个栅格地图,并为栅格地图中的每一个栅格分配一个代价值。如果栅格地图的分辨率低,则栅格地图中的栅格数量少,即每个栅格面积大,则脱困过程中在判断障碍物时会产生较大误差(栅格内的障碍物占用情况默认是全部占用),分辨率越低,误差越大,若提升栅格地图的分辨率,栅格地图数据量会呈指数增加,将消耗极大的存储空间,并带来相当大的计算复杂度,使得一般的cpu处理器难以应对;另外栅格地图中障碍物占用的栅格和安全区域的栅格和空间开销是一样大的,造成较多性能浪费。


技术实现思路

1、为此,需要提供一种机器人禁区脱困方法,解决现有防止局部规划方法只考虑当前时刻的局部最优解,在时间和空间尺度上反复震荡的问题。

2、为实现上述目的,本专利技术提供了一种机器人禁区脱困方法,其包括以下步骤:

3、将机器人获得的传感器点云生成地图;

4、将预设的机器人footprint转置到地图中的机器人当前位姿;

5、搜索机器人footprint的附近点云;

6、判断机器人footprint的前方和/或后方是否存在点云;若机器人footprint的前方存在点云,则将机器人的线速度采样区间设为[-0.2,0];若机器人footprint的后方存在点云,则将机器人的线速度采样区间设为[0,0.2];若机器人footprint的前方和后方都存在点云,则将机器人的线速度采样区间设为[-0.1,0.1];

7、在机器人的速度采样区间条件下,采用局部规划算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的速度作为机器人脱困速度;

8、重复执行上述步骤,直至机器人脱困。

9、进一步地,在判断机器人footprint的前方和/或后方是否存在点云之后,采用局部规划算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹之前,还包括判断机器人footprint的左方和/或右方是否存在点云;若机器人footprint的左方存在点云,则将机器人的线速度采样区间设为[-0.2,0];若机器人footprint的右方存在点云,则将机器人的线速度采样区间设为[0,0.2];若机器人footprint的左方和右方都存在点云,则将机器人的线速度采样区间设为[-0.1,0.1]。

10、进一步地,在搜索机器人footprint的附近点云之后,判断机器人footprint的前方和/或后方是否存在点云之前;还包括统计机器人footprint的附近点云的数量,判断机器人是否有碰撞风险,若机器人footprint的附近点云的数量非0,则判断机器人footprint的前方和/或后方是否存在点云;否则进入常规控制流程。

11、进一步地,所述将机器人获得的传感器点云生成地图为将机器人获得的传感器点云处理后合并生成kd树形点云图。

12、进一步地,所述将机器人获得的传感器点云处理后合并生成kd树形点云图,包括以下步骤:

13、将机器人获得的传感器的多个点云进行滤波;

14、将滤波后的多个点云合并形成点云集合;

15、将点云集合导入kd树,生成树形结构点云图。

16、进一步地,搜索机器人footprint的附近点云为使用kd树形点云图中的半径搜索进行搜索机器人footprint的附近点。

17、进一步地,使用kd树形点云图中的半径搜索进行搜索机器人footprint的附近点,包括以下步骤:

18、所述搜索中心为机器人footprint中心,设定搜索半径,所述搜索半径为机器人footprint中心距离机器人footprint边缘的最远距离;搜索搜索半径范围内的点云。

19、进一步地,所述局部规划算法为dwa算法,则在机器人的速度采样区间条件下,采用局部规划算法获得预测模拟到达下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的速度作为机器人脱困速度,包括以下步骤:

20、在机器人的速度采样区间条件下,采用dwa算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹,并通过评价函数对每条轨迹进行评价;

21、比较评价评分,获得最优轨迹;

22、将最优轨迹对应的速度作为机器人脱困速度。

23、存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述机器人禁区脱困方法的步骤。

24、电子设备,其包括存储介质、处理器,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于kd树动态避障的方法的步骤。

25、区别于现有技术,上述技术方案将预设的机器人footprint转置到机器人预测模拟下一段时间到达的轨迹点位姿;通过搜索机器人footprint的附近点云,通过判断点云所在的方位,即判断机器人footprint的前方和/或后方是否存在点云;设置线速度采样区间,在确定的线速度采样区间下,预测模拟下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的线速度作为机器人的线速度,防止局部规划方法只考虑当前时刻的局部最优解,在时间和空间尺度上反复震荡,重复执行上述步骤,直至机器人脱困;提高本文档来自技高网...

【技术保护点】

1.一种机器人禁区脱困方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的机器人禁区脱困方法,其特征在于,在判断机器人footprint的前方和/或后方是否存在点云之后,采用局部规划算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹之前,还包括判断机器人footprint的左方和/或右方是否存在点云;若机器人footprint的左方存在点云,则将机器人的线速度采样区间设为[-0.2,0];若机器人footprint的右方存在点云,则将机器人的线速度采样区间设为[0,0.2];若机器人footprint的左方和右方都存在点云,则将机器人的线速度采样区间设为[-0.1,0.1]。

3.根据权利要求1所述的机器人禁区脱困方法,其特征在于,在搜索机器人footprint的附近点云之后,判断机器人footprint的前方和/或后方是否存在点云之前;还包括统计机器人footprint的附近点云的数量,判断机器人是否有碰撞风险,若机器人footprint的附近点云的数量非0,则判断机器人footprint的前方和/或后方是否存在点云;否则进入常规控制流程。>

4.根据权利要求1所述的一种机器人禁区脱困方法,其特征在于,所述将机器人获得的传感器点云生成地图为将机器人获得的传感器点云处理后合并生成KD树形点云图。

5.根据权利要求4所述的机器人禁区脱困方法,其特征在于,所述将机器人获得的传感器点云处理后合并生成KD树形点云图,包括以下步骤:

6.根据权利要求4所述的机器人禁区脱困方法,其特征在于,搜索机器人footprint的附近点云为使用KD树形点云图中的半径搜索进行搜索机器人footprint的附近点。

7.根据权利要求6所述的机器人禁区脱困方法,其特征在于,使用KD树形点云图中的半径搜索进行搜索机器人footprint的附近点,包括以下步骤:

8.根据权利要求1所述的机器人禁区脱困方法,其特征在于,所述局部规划算法为DWA算法,则在机器人的速度采样区间条件下,采用局部规划算法获得预测模拟到达下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的速度作为机器人脱困速度,包括以下步骤:

9.存储介质,其特征在于:所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1到8中任意一项所述机器人禁区脱困方法的步骤。

10.电子设备,其特征在于:包括存储介质、处理器,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1到8中任意一项所述机器人禁区脱困方法的步骤。

...

【技术特征摘要】

1.一种机器人禁区脱困方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的机器人禁区脱困方法,其特征在于,在判断机器人footprint的前方和/或后方是否存在点云之后,采用局部规划算法获得预测模拟下一段时间到达的轨迹点的所有运动轨迹之前,还包括判断机器人footprint的左方和/或右方是否存在点云;若机器人footprint的左方存在点云,则将机器人的线速度采样区间设为[-0.2,0];若机器人footprint的右方存在点云,则将机器人的线速度采样区间设为[0,0.2];若机器人footprint的左方和右方都存在点云,则将机器人的线速度采样区间设为[-0.1,0.1]。

3.根据权利要求1所述的机器人禁区脱困方法,其特征在于,在搜索机器人footprint的附近点云之后,判断机器人footprint的前方和/或后方是否存在点云之前;还包括统计机器人footprint的附近点云的数量,判断机器人是否有碰撞风险,若机器人footprint的附近点云的数量非0,则判断机器人footprint的前方和/或后方是否存在点云;否则进入常规控制流程。

4.根据权利要求1所述的一种机器人禁区脱困方法,其特征在于,所述将机器人获得的传感器点云生成地图为将机器人获得的传感器点云...

【专利技术属性】
技术研发人员:李廷伟戴俊源田健陈世念曲世成余晓滨陈文强
申请(专利权)人:福建汉特云智能科技有限公司
类型:发明
国别省市:

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

1