一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种全向移动机器人脱困方法和装置与流程

2022-12-07 19:55:49 来源:中国专利 TAG:


1.本发明涉及机器人移动技术领域,具体而言,涉及一种全向移动机器人脱困方法和装置。


背景技术:

2.自主移动机器人在通过狭窄区域或者在高动态环境中工作时容易和环境中的障碍物发生碰撞而被困,当发生程度较轻的碰撞时,可控制机器人自主脱困,脱离和障碍物的接触后继续完成后续任务。机器人被困后,为了避免人为到现场进行处理或者原地等待直至电量耗尽,因此需要机器人进行自主脱困。现有移动机器人自主脱困方法均针对差速驱动机器人,差速驱动机器人在朝侧向或者后方的目标方向上运动时需要进行一定的转向动作。然而,旋转可能会导致机器人和障碍物再次发生碰撞,造成机器人损坏,因而这些脱困方法的安全性低、成功率低。
3.有鉴于此,本说明书提出了一种全向移动机器人脱困方法和装置,使得机器人能在不产生转向动作的情况下完成脱困,提高了全向机器人脱困的安全性和成功率。


技术实现要素:

4.本发明的目的在于提供一种全向移动机器人脱困方法,包括,步骤110,判断机器人是否被困;所述机器人为全向移动机器人;步骤120,若是,基于局部代价地图,确定障碍物距离直方图;若否,则继续执行未完成的工作;步骤130,基于所述障碍物距离直方图,确定是否存在脱困方向;步骤140,若是,则基于所述脱困方向,控制机器人移动;重复步骤110-步骤140。
5.进一步的,所述机器人被困包括有障碍物在机器人外边沿的连线上和/或有障碍物在机器人外边沿内。
6.进一步的,所述确定障碍物距离直方图,包括,更新局部代价地图;以机器人为中心,确定机器人在多个预设角度与障碍物的距离值;以所述多个预设角度为横轴、所述距离值为纵轴,确定所述障碍物距离直方图。
7.进一步的,所述确定是否存在脱困方向,包括,基于所述障碍物距离直方图,确定所述距离值大于预设阈值的角度;在大于预设阈值的角度中,确定连续的角度区间;将所述角度区间最大的区间作为目标区间;计算所述目标区间的角度中值,将所述角度中值的方向作为所述脱困方向。
8.进一步的,当不存在所述脱困方向时,机器人停止移动。
9.本发明的目的在于提供一种全向移动机器人脱困装置,包括第一判断模块、障碍物距离直方图确定模块、脱困方向确定模块和移动模块;所述第一判断模块用于判断机器人是否被困;所述机器人为全向移动机器人;所述障碍物距离直方图确定模块用于当机器人被困时,基于局部代价地图,确定障碍物距离直方图;所述脱困方向确定模块用于基于所述障碍物距离直方图,确定是否存在脱困方向;所述移动模块用于当存在脱困方向时,基于
所述脱困方向,控制机器人移动。
10.进一步的,所述机器人被困包括有障碍物在机器人外边沿的连线上和/或有障碍物在机器人外边沿内。
11.进一步的,所述障碍物距离直方图确定模块还用于,更新局部代价地图;以机器人为中心,确定机器人在多个预设角度与障碍物的距离值;以所述多个预设角度为横轴、所述距离值为纵轴,确定所述障碍物距离直方图。
12.进一步的,所述脱困方向确定模块还用于,基于所述障碍物距离直方图,确定所述距离值大于预设阈值的角度;在大于预设阈值的角度中,确定连续的角度区间;将所述角度区间最大的区间作为目标区间;计算所述目标区间的角度中值,将所述角度中值的方向作为所述脱困方向。
13.进一步的,当不存在所述脱困方向时,机器人停止移动。
14.本发明实施例的技术方案至少具有如下优点和有益效果:本说明书中的一些实施例提供的全向移动机器人脱困方法,提高了全向机器人的脱困效率。
15.本说明书中的一些实施例提供的全向移动机器人脱困方法安全性高、成功率高。且该方法对机器人外形没有要求,可以在不产生转向动作的情况下完成脱困。
附图说明
16.图1为本发明一些实施例提供的一种全向移动机器人脱困方法的示例性流程图;图2为本发明一些实施例提供的机器人被困的示例性示意图;图3为本发明一些实施例提供的多个预设角度的示例性示意图;图4为本发明一些实施例提供的障碍物距离直方图的示例性示意图;图5为本发明一些实施例提供的一种全向移动机器人脱困装置的示例性模块图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
18.图1为本发明一些实施例提供的一种全向移动机器人脱困方法的示例性流程图。在一些实施例中,流程100可以由系统500执行。如图1所示,流程100包括以下步骤:步骤110,判断机器人是否被困。
19.机器人为全向移动机器人。全向移动机器人是一种可以朝任意方向运动的机器人,全向移动机器人可以在平移的同时完成旋转,而不需要首先旋转,然后进行平移。
20.机器人被困可以是指机器人已经和工作环境中的障碍物发生了碰撞。机器人和障碍物已经发生碰撞后是一种特殊的状态,属于机器人避障失败的状态,机器人无法按照原来规划的路径或者重新规划的新路径到达目标点,因此需要机器人先自主脱离障碍物后再做其他处理。
21.在一些实施例中,判断机器人是否被困,依赖于机器人局部代价地图,判断机器人
被困的条件可以包括如下两条中任意一条或者两条都满足则认为机器人被困。其中,局部代价地图可以通过当前传感器数据和已知机器人占据栅格地图得到。条件1:有障碍物在机器外边沿的连线上;条件2:有障碍物在机器人外边沿内。条件1在机器人和真实的障碍物或虚拟障碍物发生碰撞的情况下会出现,条件2仅在机器人和虚拟的障碍物发生碰撞时才会出现。例如,用户在地图中添加了一个虚拟墙。以图2为例,机器人外边沿202内部包含了局部代价地图中的障碍物201,同时障碍物边沿连线上有障碍物,因此,机器人已经和障碍物发生了碰撞,已经被困。如果上述两个条件都不满足则认为已经脱困,则控制机器人停车,然后结束退出脱困程序。
22.步骤120,若是,基于局部代价地图,确定障碍物距离直方图;若否,则继续执行未完成的工作。
23.机器人导航系统使用局部代价地图和全局代价地图描述机器人周围的环境。全局代价地图长期稳定的描述整个环境,主要用于全局规划。局部代价地图实时更新,主要用于避障。障碍物距离直方图可以用于描述机器人周围障碍物的信息。
24.在一些实施例中,确定障碍物距离直方图可以包括:更新局部代价地图。
25.例如,基于机器人的各传感器(如激光雷达、超声波、深度相机等传感)实时采集的数据,更新局部代价地图。
26.以机器人为中心,确定机器人在多个预设角度与障碍物的距离值。
27.预设角度可以是预先设置的角度。例如,以机器人几何中心为起点计算360
°
上各个角度值上的距离值,车头方向为0
°
方向,角度分辨率为1
°
。当然角度分辨率也可以是其他值,如图3所示,π/8。在图3中,301为障碍物,302为机器人外边沿,303为脱困方向。
28.以多个预设角度为横轴、距离值为纵轴,确定障碍物距离直方图。
29.例如,可以以含有360个角度 距离元素的直方图描述机器人周围障碍物的信息。如图4所示,计算每个角度上障碍物的距离,距离大于等于2米的按照2米进行处理,并绘制成障碍物距离直方图。
30.步骤130,基于障碍物距离直方图,确定是否存在脱困方向。
31.脱困方向可以是机器人的移动方向,通过向该方向进行移动,机器人可以脱困。例如,障碍物直方图可以直观反馈出某个方向或者某个角度范围内障碍物的距离,脱困的方向可以是障碍物距离较远的方向。
32.在一些实施例中,可以基于障碍物距离直方图,确定距离值大于预设阈值的角度。预设阈值可以是指预先设置的机器人与障碍物的距离值。大于该预设阈值代表机器人在该角度能进行脱困,小于该阈值代表机器人不能在该角度进行脱困。在一些实施例中,可以以机器人边沿的外接圆半径为预设阈值。在大于预设阈值的角度中,确定连续的角度区间。连续的角度区间可以是指大于预设阈值的多个连续角度形成的区间。将所述角度区间最大的区间作为目标区间。目标区间可以是指供机器人进行脱困的角度区间。计算目标区间的角度中值,将所述角度中值的方向作为所述脱困方向。角度中值可以是指目标区间内的中间角度。
33.以图4为例,假设预设阈值为0.6米,则图4中直方图有两个连通的角度区间,角度区间1:π/8~π/4,角度区间2:5π/8~0。计算这两个连通区间覆盖的角度值,角度区间1覆盖
的角度值为π/8(角度分辨率
×
连通区内角度个数),角度区间2覆盖的角度值为3π/2。选择覆盖的角度值最大的区间为我们的目标区间,即角度区间2为目标区间。然后在目标区间上计算角度中值即为脱困方向,如图4中箭头所指位置即为角度区间2的中值21π/16。
34.步骤140,若是,则基于脱困方向,控制机器人移动。
35.在一些实施例中,可以通过生成控制指令,控制机器人朝脱困方向以固定速度进行移动。例如,在图3所示的情况下,可以以0.2m/s的速度朝脱困方向303移动。
36.在一些实施例中,当不存在脱困方向时,机器人停止移动。
37.重复步骤110-步骤140。
38.在一些实施例中,开始执行脱困程序后,步骤110-步骤140可以在机器人每个运动控制周期执行一次,机器人运行控制周期可以为50毫秒。当确定机器人未被困时,控制机器人继续未完成的工作。
39.图5为本发明一些实施例提供的一种全向移动机器人脱困装置的示例性模块图。如图5所示,系统500包括第一判断模块510、障碍物距离直方图确定模块520、脱困方向确定模块530和移动模块540。
40.第一判断模块510用于判断机器人是否被困;机器人为全向移动机器人。在一些实施例中,机器人被困包括有障碍物在机器人外边沿的连线上和/或有障碍物在机器人外边沿内。关于第一判断模块510的更多内容,参见图1及其相关描述。
41.障碍物距离直方图确定模块520用于当机器人被困时,基于局部代价地图,确定障碍物距离直方图。在一些实施例中,障碍物距离直方图确定模块520还用于,更新局部代价地图;以机器人为中心,确定机器人在多个预设角度与障碍物的距离值;以多个预设角度为横轴、距离值为纵轴,确定障碍物距离直方图。关于障碍物距离直方图确定模块520的更多内容,参见图1及其相关描述。
42.脱困方向确定模块530用于基于障碍物距离直方图,确定是否存在脱困方向。当不存在脱困方向时,机器人停止移动。在一些实施例中,脱困方向确定模块530还用于基于障碍物距离直方图,确定距离值大于预设阈值的角度;在大于预设阈值的角度中,确定连续的角度区间;将角度区间最大的区间作为目标区间;计算目标区间的角度中值,将角度中值的方向作为脱困方向。关于脱困方向确定模块530的更多内容,参见图1及其相关描述。
43.移动模块540用于当存在脱困方向时,基于脱困方向,控制机器人移动。关于移动模块540的更多内容,参见图1及其相关描述。
44.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献