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

自动地图探索系统和方法与流程

2022-06-02 16:24:48 来源:中国专利 TAG:

自动地图探索系统和方法
发明领域
1.本发明属于地图探索领域,具体而言,属于使用配备光学雷达(lidar)的机器人来进行地图探索的领域。


背景技术:

2.配备光学雷达的机器人如今非常普遍。然而,所有的机器人都依靠人类来引导他们通过地图,同时光学雷达则绘制出它走过的区域的地图。机器人需要依赖人类的根本原因是它在完成地图绘制之前没有可参考的坐标。
3.有一些真空清洁机器人使用“始终向左转”的方法来尝试绘制室内地图。不过,这些方法很容易被特定形状的房间或兜所困。
4.本发明旨在提供一种全自动的地图探索方法,并提供能够应对特殊情况的算法。


技术实现要素:

5.一方面,本发明公开了一种地图探索方法,包括以下步骤:使用扫描半径为a的光学雷达扫描周围区域;将光学雷达可扫描到的区域定义为第一层;定义以光学雷达为中心、半径为b的圆形区域作为第二层,其中b小于a;和移动光学雷达到不同的位置,直到第二层覆盖第一层;从而在移动光学雷达的同时绘制地图。
6.在一个实施例中,该地图探索方法还包括:随机选择在第一层内但在第二层外的多个目标位置;计算多个目标地位置与当前位置之间的距离;移动光学雷达到距离当前位置最远的目标位置;和执行迭代,直到第二层覆盖第一层。
7.在进一步的实施例中,地图是2d地图并且墙壁和障碍物由实线绘制。
8.在另一个实施例中,该地图探索方法还包括:定义在玻璃墙后面可以被光学雷达检测到但移动装置无法到达的区域为陷阱;驱动移动装置至少3次进入陷阱;存储移动装置的停止位置;在地图上画一条穿过停止位置的实线;和从地图上删除陷阱。
9.在进一步的实施例中,该地图探索方法还包括:当第二层覆盖第一层时触发围墙检测算法。该围墙检测算法包括:找出墙壁的顶点;和检查是否存在一条路径恰好通过每个顶点一次,使得路径在同一顶点开始和结束。
10.在进一步的实施例中,移动装置是机器人、无人机或汽车。
11.在另一方面,本发明是一种用于地图探索的系统。该系统包括:扫描半径为a的光学雷达,以扫描周围区域;用于搭载光学雷达的移动装置;用于执行以下步骤的处理器:将光学雷达可扫描到的区域定义为第一层;定义以光学雷达为中心、半径为b的圆形区域作为第二层,其中b小于a;和驱动移动装置到不同的位置,直到第二层覆盖第一层;在驱动移动装置的同时绘制地图。
12.在一个示例性实施例中,处理器还执行以下步骤:随机选择在第一层内但在第二层外的多个目标位置;计算多个目标地位置与当前位置之间的距离;移动移动装置到距离当前位置最远的目标位置;和执行迭代,直到第二层覆盖第一层。
13.在进一步的实施例中,处理器还包括:定义在玻璃墙后面可以被光学雷达检测到但移动装置无法到达的区域为陷阱;驱动移动装置至少3次进入陷阱;存储移动装置的停止位置;在地图上画一条穿过停止位置的实线;和从地图上删除陷阱。
14.在另一个实施例中,地图探索系统还包括围墙检测模块。该围墙检测模块在第二层覆盖第一层时触发,并执行以下步骤:找出墙壁的顶点;和检查是否存在一条路径恰好通过每个顶点一次,使得路径在同一顶点开始和结束。
15.本发明具有许多优点,例如,地图探索是全自动的,不需要人为干预。此外,例外情况得到妥善处理,以确保生成的地图准确,并充分探索地图。
附图说明
16.包含在说明书中的附图示出了所公开的方法和系统的几个实施例,并结合说明书一起用于解释所公开的方法和系统的原理。
17.图1是本发明的一个实施例中的地图探索系统的框图。
18.图2是本发明算法的流程图。
19.图3是光学雷达在第一位置时系统绘制的地图。
20.图4是光学雷达在第二个位置时系统绘制的地图。
21.图5显示了光学雷达在第三个位置和第四个位置时系统绘制的地图。
22.图6是具有直线边界的陷阱的示意图。
23.图7为边界不直的陷阱示意图。
24.图8是用于说明围墙检测算法的图。
具体实施例
25.通过参考以下特定实施例的详细描述和其中的例子,可以更容易地理解所公开的方法和系统。参考图1,该系统包括几个关键部件,即光学雷达10、移动装置20和处理器30。光学雷达10充当slam(同步定位和映射)传感器,其发出红外线并检测红外线的飞行时间,然后把其视线范围内的所有障碍物画出来。随着移动装置20围绕场地移动,通过交叉参考障碍物上同一点的多个读数,将更清晰地构建障碍物的细节。处理器30与光学雷达10和移动装置20互连。光学雷达10可以360度旋转并将检测到的数据发送到处理器30进行处理。处理器30使用检测到的数据绘制数字地图并基于周围环境将移动装置20驱动到不同位置。
26.移动装置20可以是机器人、无人机、汽车或任何其他适合地图探索的机器。该系统可以配备更多的组件以获得更好的性能。例如,可以添加3d相机以光学检测移动装置20前方的障碍物,构建对象的大致尺寸并在需要时规划绕过它们的路径。也可在移动装置20的前后增加飞行时间传感器,瞄准不同的角度,以在检测到障碍物时提供接近警报。
27.本发明的主旨是提供一种无需人类干预即可自动探索未知地图的算法。在以下实施例中,以机器人作为移动装置20并用室内地图来说明其工作原理。参考图2,示出了算法的流程图。在步骤40,算法开始。机器人可以放置在室内地图中的任意位置作为起点。然后机器人在步骤50中使用光学雷达10扫描周围区域。光学雷达10可以水平旋转360
°
。光学雷达10的可视范围从几米到几百米不等,视实际需要而定。在步骤60中,机器人的起点被定义为坐标(0,0),而在光学雷达10的可视范围内的区域被分配坐标(x,y)。光学雷达10不可见
的区域没有坐标。在步骤70中,光学雷达10可扫描到的区域被定义为第一层。在本实施例中,我们假设光学雷达10的扫描半径为a。理想情况下,当机器人位于起点时,第一层是一个以光学雷达10为中心的圆,半径为a。当机器人移动时,第一层会扩张。第二层则选择为以光学雷达10为中心、半径为b的圆形区域,其中b小于a。b是光学雷达10可视范围的m%。m可以由用户根据不同的要求来定义,百分比越高,地图探索越快。但是,探索速度越快,它在地图上绘制的细节就越少,尤其是在实体对象之间。如果需要在地图上显示更多细节,则应使用较少的百分比。光学雷达10未扫描到的区域被定义为不可见层。在步骤80中,处理器30基于光学雷达10收集的信息绘制数字地图。
28.转到图3,它是在示例性实施例中由处理器30绘制的地图。机器人位于起点160,光学雷达10可探测到的墙壁和障碍物由实线绘制。在图3中,第一层130的面积大于第二层140的面积。因为有很多墙壁和障碍物,因此第一层130看起来不像圆形。然而,第二层140看起来像一个圆形,因为其范围内没有墙壁阻挡。光学雷达10无法扫描到墙壁后面的区域,因此形成不可见层150。光学雷达10不断地扫描环境,如果有移动物体,例如人或动物,处理器30会识别出移动物体的坐标发生了变化,并确认这些物体不是障碍物。这些移动的物体会从地图中删除。
29.回到图2,在步骤90中,处理器30检查第二层140是否覆盖第一层130。如果是,则整个过程完成并进入步骤100以结束算法,在这情况下的地图应该已经完全绘制了。然而,如果第二层140没有覆盖第一层130,则意味着地图还没有被完全探索,然后进入步骤110以确定下一个要去的目的地。这可以在属于第一层130但在第二层140之外的范围中随机选择多个目的地位置来完成。目的地位置的数量可以由用户设置,例如10、20或30。基于当前位置和目的地位置之间的最短路径的长度来确定目的地位置的排名,长度越长,排名越高,机器人则越早访问该目的地位置。
30.计算位置排名的目的是找到一个离当前位置“最远”的点,让机器人尽可能多地探索新的区域。如步骤60,处理器30具有当前位置和目的地位置的坐标,即(0,0)和(x,y)。最短路径可以通过等式p2=(x-0)2 (y-0)2计算,其中p是路径长度。一旦确定最高排名的目的地位置,处理器30将驱动机器人到该位置,并在途中用第二层140重写第一层130。第一层130将根据新的光学雷达10的读数扩展,并且第二层140将沿着机器人的运动路径扩展。参考图4,当机器人移动到位置170时,地图被更新。
31.当第二层140几乎覆盖了第一层130的局部区域,在以壁为边界的那个方向上的扩展停止。当没有更多第一层130可以探索时,迭代完成。如图5所示,经过多次迭代后,地图不断更新。算法必须处理一些例外情况。光学雷达10可以检测玻璃墙后面的区域并创建机器人无法物理到达的第一层130,这些区域被定义为陷阱。如图2的步骤120,处理器30将在前往下一个位置时检测陷阱。转到图6和图7,如果机器人无法进入特定区域(陷阱180),机器人将存储其停止的坐标(图中的交叉)。机器人将尝试至少3次进入陷阱180,其每次停在不同的位置。处理器30会画一条穿过所有交叉点的线形成玻璃墙,通常是一条直线,如图6所示。如果交叉点不在一条直线上,则会画一条最佳拟合线,如图7所示。一旦玻璃墙被定位和绘制,叠加第一层和第二层的陷阱180将从地图中删除。这是因为玻璃墙外的区域应该是不构成室内地图一部分的外部区域(如街道)。回到图2,在步骤120检测陷阱的同时,算法将回到步骤80绘制地图并继续迭代,直到第二层覆盖第一层。
32.另一个要处理的例外情况是急转弯问题。如果地图中有急转弯可能会出现问题,例如通向走廊的门通常有90度或更大的转弯。参考图8,当机器人移动到位置190时,它的视线被墙角210挡住了。此时第二层和第一层完全重叠,机器人将停止进一步探索。然而,其实还有更多区域需要探索,如图8中的虚线200所示。线220不是真正的墙。
33.为了处理这个急转弯问题,我们部署了一个围墙检测算法。当第二层覆盖第一层时触发该围墙检测算法,即在结束地图探索过程之前运行围墙检测算法。围墙检测算法是确保整个区域具有传染性,并且至少被一层墙包围。为了定义一个围墙,我们首先找出所有墙壁(黑线)中的所有顶点。机器人在探索过程中应该已经记录了所有墙壁,并标记了一些特殊情况,例如图8中未被识别为墙壁的线220。顶点定义为在两面墙的相交处。对于弯曲的墙,我们通过将曲线分成更小的块来定义多个顶点,例如每个20厘米或30厘米。当存在一条路径恰好遍历每个顶点一次,使得路径在同一顶点开始和结束时,该路径称为欧拉回路(euler circuit)。如果存在欧拉回路,则存在围墙,整个地图探索过程将终止。如果没有围墙,那意味着还有更多未知区域需要探索,算法将选择开口附近的坐标,机器人将被驱动到该位置以进行进一步的地图探索。例如,在图8中,开口位于线220附近。
34.虽然使用某些特定的实施例解释了本发明,但是应当理解,在阅读本说明书后,对于本领域的技术人员,各种实施例的修改都是明显的。因此,应当理解,本发明涵盖了落入所附权利要求范围内的各类修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献