一种建图方法、系统、计算机可读存储介质及割草机器人与流程

文档序号:33462458发布日期:2023-03-15 04:35阅读:34来源:国知局
一种建图方法、系统、计算机可读存储介质及割草机器人与流程

1.本发明涉及区域建图技术领域,尤其涉及一种建图方法、系统、计算机可读存储介质及割草机器人。


背景技术:

2.无边界割草机器人的手动建图方法是将割草机器人摆在边界线上,手动控制机器人沿着边界线行走一圈,机器人记录行走的轨迹坐标生成边界地图。若地图上同时存在内圈时,需要遥控机器人沿外边界行走一圈,结束外边界建图,然后再将机器人移动到内边界上,重新操作启动建图;或者在完成外边界建图后直接操控机器人行走到内边界完成内边界建图,然后在ui交互界面上编辑地图,将多余的线段去除。
3.上述手动建图方式在执行复杂场景建图时,要么整个建图过程需要分多次操作建图,使用比较麻烦,用户体验差,要么需要后续的地图编辑处理,同样不便于用户操作处理。


技术实现要素:

4.本发明要解决的技术问题在于,针对上述背景技术中提及的相关技术存在的至少一个缺陷:手动建图方式在执行复杂场景建图时,要么整个建图过程需要分多次操作建图,使用比较麻烦,用户体验差,要么需要后续的地图编辑处理,同样不便于用户操作处理,提供一种建图方法、系统、计算机可读存储介质及割草机器人。
5.本发明解决其技术问题所采用的技术方案是:构造一种建图方法,应用于割草机器人,包括以下步骤:
6.s10:启动建图,沿所有区域的边界进行遍历行走;
7.s20:在行走过程中记录定位模式输出的实时轨迹数据;
8.s30:遍历完成后,对所述轨迹数据进行封闭地图的判定与处理,获得封闭地图;
9.s40:对所有封闭地图的轨迹数据进行封闭地图的内外圈判定,获得内圈地图和/或外圈地图;
10.s50:对所述内圈地图和/或所述外圈地图以外的所有轨迹数据进行优化处理,完成建图。
11.优选地,在本发明所述的建图方法中,步骤s10还包括:在一个区域行走到闭合处时,继续行走一段重复的轨迹,以行走完一个区域。
12.优选地,在本发明所述的建图方法中,步骤s10还包括:在行走完一个区域边界去往另一个区域边界时,自当前位置沿直线行走至另一个区域边界的预设位置进入。
13.优选地,在本发明所述的建图方法中,步骤s30中的所述对所述轨迹数据进行封闭地图的判定与处理,获得封闭地图,包括:
14.s301:从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
15.s302:若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,
则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
16.优选地,在本发明所述的建图方法中,步骤s40包括:
17.s401:找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和最小值轨迹点所在的封闭地图为外圈地图;
18.s402:在剩余的所有封闭地图的轨迹数据中,从任一轨迹点往x的正方向或x的负方向或y的正方向或y的负方向引条直线;
19.s403:若该直线达到x的最大值或x的最小值或y的最大值或y的最小值过程中未与任何其他封闭地图的轨迹相交或者与其他封闭地图的轨迹的相交点数为偶数,则该轨迹点所在的封闭地图为外圈地图;
20.s404:若该直线与其他封闭地图的轨迹的相交点数为奇数,则该轨迹点所在的封闭地图为内圈地图。
21.优选地,在本发明所述的建图方法中,步骤s50包括:
22.s501:删除所述外圈地图内部除所述内圈地图以外的所有轨迹数据;
23.s502:删除所述外圈地图外部除所述外圈地图之间相连的轨迹数据以及所述外圈地图与基站之间相连的轨迹数据以外的所有轨迹数据;
24.s503:将所述外圈地图之间相连的轨迹数据和所述外圈地图与所述基站之间相连的轨迹数据保留为引导线。
25.本发明还构造了一种建图系统,应用于割草机器人,包括:
26.控制模块,用于发送控制指令至运动模块;
27.运动模块,用于根据控制指令沿所有区域的边界进行遍历行走;
28.定位模块,用于在行走过程中记录定位模式输出的实时轨迹数据;
29.封闭判定模块,用于遍历完成后,对所述轨迹数据进行封闭地图的判定与处理,获得封闭地图;
30.内外圈判定模块,用于对所有封闭地图的轨迹数据进行封闭地图的内外圈判定,获得内圈地图和/或外圈地图;
31.优化模块,用于对所述内圈地图和/或所述外圈地图以外的所有轨迹数据进行优化处理。
32.优选地,在本发明所述的建图系统中,所述运动模块,还用于在一个区域行走到闭合处时,继续行走一段重复的轨迹,以行走完一个区域。
33.优选地,在本发明所述的建图系统中,所述运动模块,还用于在行走完一个区域边界去往另一个区域边界时,自当前位置沿直线行走至另一个区域边界的预设位置进入。
34.优选地,在本发明所述的建图系统中,所述封闭判定模块包括:
35.距离计算单元,用于从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
36.距离判断单元,用于若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
37.优选地,在本发明所述的建图系统中,所述内外圈判定模块包括:
38.查找单元,用于找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和最小值轨迹点所在的封闭地图为外圈地图;
39.引线单元,用于在剩余的所有封闭地图的轨迹数据中,从任一轨迹点往x的正方向或x的负方向或y的正方向或y的负方向引条直线;
40.相交判断单元,用于若该直线达到x的最大值或x的最小值或y的最大值或y的最小值过程中未与任何其他封闭地图的轨迹相交或者与其他封闭地图的轨迹的相交点数为偶数,则该轨迹点所在的封闭地图为外圈地图;若该直线与其他封闭地图的轨迹的相交点数为奇数,则该轨迹点所在的封闭地图为内圈地图。
41.优选地,在本发明所述的建图系统中,所述优化模块包括:
42.第一删除单元,用于删除所述外圈地图内部除所述内圈地图以外的所有轨迹数据;
43.第二删除单元,用于删除所述外圈地图外部除所述外圈地图之间相连的轨迹数据以及所述外圈地图与基站之间相连的轨迹数据以外的所有轨迹数据;
44.保留单元,用于将所述外圈地图之间相连的轨迹数据和所述外圈地图与所述基站之间相连的轨迹数据保留为引导线。
45.本发明还构造了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的建图方法。
46.本发明还构造了一种割草机器人,包括:
47.一个或多个处理器;
48.存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述任一项所述的建图方法。
49.通过实施本发明,具有以下有益效果:
50.在存在多个外圈和/或内圈进行建图时,本发明的建图方法流程简单,只要用户在建图前按启动以及所有区域的边界走完后按结束,割草机器人就可以通过自动识别和去除地图中多余的线段,使得复杂场景可以一次完成建图而且不需要后续的地图编辑处理,降低建图难度,最后只需要用户确认结果就好,大大简化了复杂场景建图的实施难度。
附图说明
51.下面将结合附图及实施例对本发明作进一步说明,附图中:
52.下面将结合附图及实施例对本发明作进一步说明,附图中:
53.图1是本发明建图方法的流程图;
54.图2是割草机器人沿所有区域的边界进行遍历行走的第一示意图;
55.图3是割草机器人沿所有区域的边界进行遍历行走的第二示意图;
56.图4是完成建图后的地图示意图;
57.图5是内外圈判定时引出的直线与轨迹重叠或相切的示意图;
58.图6是本发明建图系统的模块框图。
具体实施方式
59.为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
60.需要说明的是,附图中所示的流程图仅是示例性说明,不是必须包括所有的内容
和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
61.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
62.如图1所示,本发明公开了一种建图方法,应用于割草机器人,包括以下步骤:
63.s10:启动建图,沿所有区域的边界进行遍历行走;
64.s20:在行走过程中记录定位模式输出的实时轨迹数据;
65.s30:遍历完成后,对轨迹数据进行封闭地图的判定与处理,获得封闭地图;
66.s40:对所有封闭地图的轨迹数据进行封闭地图的内外圈判定,获得内圈地图和/或外圈地图;
67.s50:对内圈地图和/或外圈地图以外的所有轨迹数据进行优化处理,完成建图。
68.在一些实施例中,该建图方法需要用户操作用户端进行协助,因此步骤s10包括:启动建图,根据接收到的持续遥控指令,沿所有区域的边界进行遍历行走。
69.步骤s30包括:接收到遍历完成指令后,对轨迹数据进行封闭地图的判定与处理,获得封闭地图。
70.本方法还包括:
71.s60:发送建图完成后的地图至用户端,供用户进行确认,并在收到确认信息后,结束建图。
72.其中,遥控指令和遍历完成指令均由用户端发出,建图完成后的地图显示在用户端的ui界面,用户完成地图确认后,整个建图流程结束。
73.在一些实施例中,用户在用户端的ui界面启动手动建图,发送持续的遥控指令至割草机器人,割草机器人根据接收到的遥控指令,如图2所示,从基站1出发行走到第一封闭地图2边界上,绕第一封闭地图2边界行走一圈后行走到第二封闭地图3边界上,并绕第二封闭地图3边界行走一圈后行走到第三封闭地图4边界,绕第三封闭地图4边界行走一圈后,用户在用户端的ui界面选择完成行走,并在行走过程中每移动5cm记录一个轨迹点,或者每0.2秒记录一个轨迹点,即如图2所示的轨迹点a、b、c、d、e等。
74.具体地,步骤30中的对轨迹数据进行封闭地图的判定与处理,获得封闭地图,包括:
75.s301:从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
76.s302:若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
77.如图2所示,从轨迹的起始点a开始,假设走到轨迹点c,则计算相隔预设长度(例如c减a的长度)的后续轨迹点c与前面轨迹点a的空间直线距离,此时判断得出空间直线距离大于预设阈值;当走到轨迹点e时,则计算相隔预设长度(例如e减c的长度)的后续轨迹点e与前面轨迹点a、b和c的空间直线距离,此时判断得出空间直线距离大于预设阈值;以此类推,当走到轨迹点y时,则计算相隔预设长度(例如y减w的长度)的后续轨迹点y与前面轨迹点a、b、c、d、e、

、v、w的空间直线距离,此时判断得出轨迹点y与轨迹点c的空间直线距离小
于预设阈值,同样地,若判断得出y后续的某一轨迹点与前面某一轨迹点的空间直线距离也是小于预设阈值时,则可以得出后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,因此认为地图封闭。
78.在一些实施例中,用户在用户端的ui界面启动手动建图,发送持续的遥控指令至割草机器人,割草机器人根据接收到的遥控指令,沿所有区域的边界进行遍历行走,由于是人为去遥控割草机器人,起始位置并不会做标识,人为遥控时以为行走到闭合处时,可能会存在人为判断误差,实际上还没行走到闭合处,因此,步骤s10还包括:在一个区域行走到闭合处时,继续行走一段重复的轨迹(例如重复轨迹要求为0.5-1.0米),以行走完一个区域。进而,也可更好地进行后续的封闭地图的判定与处理。
79.例如,如图3所示,从基站1出发行走到第一个外圈地图2边界上,绕第一封闭地图2边界行走一圈并重叠一小段(y至z)后行走到第二封闭地图3边界上,并绕第二封闭地图3边界行走一圈重叠一小段后行走到第三封闭地图4边界,绕第三封闭地图4边界行走一圈并重叠一小段后,用户在用户端的ui界面选择完成行走,并在行走过程中每移动5cm记录一个轨迹点,或者每0.2秒记录一个轨迹点,即如图2所示的轨迹点a、b、c、d、e等。
80.具体地,步骤30中的对轨迹数据进行封闭地图的判定与处理,获得封闭地图,包括:
81.s301:从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
82.s302:若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
83.例如,如图3所示,从轨迹的起始点a开始,假设走到轨迹点c,则计算相隔预设长度(例如c减a的长度)的后续轨迹点c与前面轨迹点a的空间直线距离,此时判断得出空间直线距离大于预设阈值;当走到轨迹点e时,则计算相隔预设长度(例如e减c的长度)的后续轨迹点e与前面轨迹点a、b和c的空间直线距离,此时判断得出空间直线距离大于预设阈值;以此类推,当走到轨迹点y时,则计算相隔预设长度(例如y减w的长度)的后续轨迹点y与前面轨迹点a、b、c、d、e、

、v、w的空间直线距离,此时判断得出轨迹点y与轨迹点c的空间直线距离小于预设阈值;同样地,当走到轨迹点z时,则计算相隔预设长度(例如z减x的长度)的后续轨迹点z与前面轨迹点a、b、c、d、e、

、v、w、x的空间直线距离,此时判断得出轨迹点z与轨迹点d的空间直线距离小于预设阈值,因此可以得出后续轨迹与前面轨迹有连续一段轨迹点(y至z、c至d)的空间直线距离小于预设阈值,因此认为地图封闭。
84.在一些实施例中,步骤s10还包括:在行走完一个区域边界去往另一个区域边界时,自当前位置沿直线行走至另一个区域边界的预设位置进入,即可在已行走完成的区域边界内部穿行,避免绕圈。在其他一些实施例中,还可以是自当前位置沿最短直线行走至另一个区域边界进入。
85.在一些实施例中,步骤s20之后还包括:
86.s21:对轨迹数据进行平滑处理。例如,平滑方法可以为滑动平均法,sg滤波法,spline样条曲线平滑等。
87.在一些实施例中,步骤s40包括:
88.s401:找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和
最小值轨迹点所在的封闭地图为外圈地图;
89.s402:在剩余的所有封闭地图的轨迹数据中,从任一轨迹点往x的正方向或x的负方向或y的正方向或y的负方向引条直线;
90.s403:若该直线达到x的最大值或x的最小值或y的最大值或y的最小值过程中未与任何其他封闭地图的轨迹相交或者与其他封闭地图的轨迹的相交点数为偶数,则该轨迹点所在的封闭地图为外圈地图;
91.s404:若该直线与其他封闭地图的轨迹的相交点数为奇数,则该轨迹点所在的封闭地图为内圈地图。
92.其中,x的正方向对应x的最大值,x的负方向对应x的最小值,y的正方向对应y的最大值,y的负方向对应y的最小值。
93.例如,如图3所示,找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和最小值轨迹点所在的封闭地图为外圈地图,显然第一封闭地图2和第三封闭地图4为外圈地图;在剩余的第二封闭地图3的轨迹数据中,从任一轨迹点(例如a)往x的负方向引条直线,该直线达到x的最小值过程中与第一封闭地图2的轨迹的相交点数为1,因此该轨迹点所在的第二封闭地图3为内圈地图。
94.其中,关于内外圈判定,引出的直线与轨迹重叠只能算一个点,只有相切才算两个点,如图5所示:中间地图往右边引出直线与右边地图有一段重叠外加一个交点a1,则算两个点;若向左引出直线,与左边地图有重叠,没有额外的交点,但是重叠的部分是相切,则相切算两个点。
95.在一些实施例中,步骤s50包括:
96.s501:删除外圈地图内部除内圈地图以外的所有轨迹数据;
97.s502:删除外圈地图外部除外圈地图之间相连的轨迹数据以及外圈地图与基站之间相连的轨迹数据以外的所有轨迹数据;
98.s503:将外圈地图之间相连的轨迹数据和外圈地图与基站之间相连的轨迹数据保留为引导线,例如虚线,最终形成如图4所示的地图。
99.如图6所示,本发明公开了一种建图系统,应用于割草机器人,包括:
100.控制模块,用于发送控制指令至运动模块;
101.运动模块,用于根据控制指令沿所有区域的边界进行遍历行走;
102.定位模块,用于在行走过程中记录定位模式输出的实时轨迹数据;
103.封闭判定模块,用于遍历完成后,对轨迹数据进行封闭地图的判定与处理,获得封闭地图;
104.内外圈判定模块,用于对所有封闭地图的轨迹数据进行封闭地图的内外圈判定,获得内圈地图和/或外圈地图;
105.优化模块,用于对内圈地图和/或外圈地图以外的所有轨迹数据进行优化处理。
106.在一些实施例中,该建图方法需要用户操作用户端进行协助,因此该控制模块,进一步用于根据接收到的持续遥控指令,发送控制指令至运动模块。
107.该控制模块,还用于接收到遍历完成指令后,发送控制指令至封闭判定模块。
108.本系统还包括:
109.发送接收模块,用于发送建图完成后的地图至用户端,供用户进行确认,并在收到
确认信息后,结束建图。
110.其中,遥控指令和遍历完成指令均由用户端发出,建图完成后的地图显示在用户端的ui界面,用户完成地图确认后,整个建图流程结束。
111.在一些实施例中,用户在用户端的ui界面启动手动建图,发送持续的遥控指令至割草机器人,割草机器人根据接收到的遥控指令,如图2所示,从基站1出发行走到第一封闭地图2边界上,绕第一封闭地图2边界行走一圈后行走到第二封闭地图3边界上,并绕第二封闭地图3边界行走一圈后行走到第三封闭地图4边界,绕第三封闭地图4边界行走一圈后,用户在用户端的ui界面选择完成行走,并在行走过程中每移动5cm记录一个轨迹点,或者每0.2秒记录一个轨迹点,即如图2所示的轨迹点a、b、c、d、e等。
112.具体地,该封闭判定模块包括:
113.距离计算单元,用于从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
114.距离判断单元,用于若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
115.例如,如图2所示,从轨迹的起始点a开始,假设走到轨迹点c,则计算相隔预设长度(例如c减a的长度)的后续轨迹点c与前面轨迹点a的空间直线距离,此时判断得出空间直线距离大于预设阈值;当走到轨迹点e时,则计算相隔预设长度(例如e减c的长度)的后续轨迹点e与前面轨迹点a、b和c的空间直线距离,此时判断得出空间直线距离大于预设阈值;以此类推,当走到轨迹点y时,则计算相隔预设长度(例如y减w的长度)的后续轨迹点y与前面轨迹点a、b、c、d、e、

、v、w的空间直线距离,此时判断得出轨迹点y与轨迹点c的空间直线距离小于预设阈值,同样地,若判断得出y后续的某一轨迹点与前面某一轨迹点的空间直线距离也是小于预设阈值时,则可以得出后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,因此认为地图封闭。
116.在一些实施例中,用户在用户端的ui界面启动手动建图,发送持续的遥控指令至割草机器人,割草机器人根据接收到的遥控指令,沿所有区域的边界进行遍历行走,由于是人为去遥控割草机器人,起始位置并不会做标识,人为遥控时以为行走到闭合处时,可能会存在人为判断误差,实际上还没行走到闭合处,因此,步骤s10还包括:在一个区域行走到闭合处时,继续行走一段重复的轨迹(例如重复轨迹要求为0.5-1.0米),以行走完一个区域。进而,也可更好地进行后续的封闭地图的判定与处理。
117.例如,如图3所示,从基站1出发行走到第一个外圈地图2边界上,绕第一封闭地图2边界行走一圈并重叠一小段(y至z)后行走到第二封闭地图3边界上,并绕第二封闭地图3边界行走一圈重叠一小段后行走到第三封闭地图4边界,绕第三封闭地图4边界行走一圈并重叠一小段后,用户在用户端的ui界面选择完成行走,并在行走过程中每移动5cm记录一个轨迹点,或者每0.2秒记录一个轨迹点,即如图2所示的轨迹点a、b、c、d、e等。
118.具体地,该封闭判定模块包括:
119.距离计算单元,用于从轨迹的起始点开始,计算相隔预设长度的后续轨迹点与前面轨迹点的空间直线距离;
120.距离判断单元,用于若后续轨迹与前面轨迹有连续一段轨迹点的空间直线距离小于预设阈值,则认为地图封闭,下一地图的判断轨迹起始点从当前封闭地图的结束点开始。
121.例如,如图3所示,从轨迹的起始点a开始,假设走到轨迹点c,则计算相隔预设长度(例如c减a的长度)的后续轨迹点c与前面轨迹点a的空间直线距离,此时判断得出空间直线距离大于预设阈值;当走到轨迹点e时,则计算相隔预设长度(例如e减c的长度)的后续轨迹点e与前面轨迹点a、b和c的空间直线距离,此时判断得出空间直线距离大于预设阈值;以此类推,当走到轨迹点y时,则计算相隔预设长度(例如y减w的长度)的后续轨迹点y与前面轨迹点a、b、c、d、e、

、v、w的空间直线距离,此时判断得出轨迹点y与轨迹点c的空间直线距离小于预设阈值;同样地,当走到轨迹点z时,则计算相隔预设长度(例如z减x的长度)的后续轨迹点z与前面轨迹点a、b、c、d、e、

、v、w、x的空间直线距离,此时判断得出轨迹点z与轨迹点d的空间直线距离小于预设阈值,因此可以得出后续轨迹与前面轨迹有连续一段轨迹点(y至z、c至d)的空间直线距离小于预设阈值,因此认为地图封闭。
122.在一些实施例中,运动模块,还用于在行走完一个区域边界去往另一个区域边界时,自当前位置沿直线行走至另一个区域边界的预设位置进入,即可在已行走完成的区域边界内部穿行,避免绕圈。在其他一些实施例中,还可以是自当前位置沿最短直线行走至另一个区域边界进入。
123.在一些实施例中,本系统还包括:
124.平滑模块,用于对轨迹数据进行平滑处理。例如,平滑方法可以为滑动平均法,sg滤波法,spline样条曲线平滑等。
125.在一些实施例中,该内外圈判定模块包括:
126.查找单元,用于找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和最小值轨迹点所在的封闭地图为外圈地图;
127.引线单元,用于在剩余的所有封闭地图的轨迹数据中,从任一轨迹点往x的正方向或x的负方向或y的正方向或y的负方向引条直线;
128.相交判断单元,用于若该直线达到x的最大值或x的最小值或y的最大值或y的最小值过程中未与任何其他封闭地图的轨迹相交或者与其他封闭地图的轨迹的相交点数为偶数,则该轨迹点所在的封闭地图为外圈地图;若该直线与其他封闭地图的轨迹的相交点数为奇数,则该轨迹点所在的封闭地图为内圈地图。
129.其中,x的正方向对应x的最大值,x的负方向对应x的最小值,y的正方向对应y的最大值,y的负方向对应y的最小值。
130.例如,如图3所示,找出所有封闭地图的轨迹数据中轨迹点x和y的最大值和最小值,最大值和最小值轨迹点所在的封闭地图为外圈地图,显然第一封闭地图2和第三封闭地图4为外圈地图;在剩余的第二封闭地图3的轨迹数据中,从任一轨迹点(例如a)往x的负方向引条直线,该直线达到x的最小值过程中与第一封闭地图2的轨迹的相交点数为1,因此该轨迹点所在的第二封闭地图3为内圈地图。
131.其中,关于内外圈判定,引出的直线与轨迹重叠只能算一个点,只有相切才算两个点,如图5所示:中间地图往右边引出直线与右边地图有一段重叠外加一个交点a1,则算两个点;若向左引出直线,与左边地图有重叠,没有额外的交点,但是重叠的部分是相切,则相切算两个点。
132.在一些实施例中,该优化模块包括:
133.第一删除单元,用于删除外圈地图内部除内圈地图以外的所有轨迹数据;
134.第二删除单元,用于删除外圈地图外部除外圈地图之间相连的轨迹数据以及外圈地图与基站之间相连的轨迹数据以外的所有轨迹数据;
135.保留单元,用于将外圈地图之间相连的轨迹数据和外圈地图与基站之间相连的轨迹数据保留为引导线,例如虚线,最终形成如图4所示的地图。
136.本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例所述的建图方法。
137.本发明还公开了一种割草机器人,包括:
138.一个或多个处理器;
139.存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述任一实施例所述的建图方法。
140.通过实施本发明,具有以下有益效果:
141.在存在多个外圈和/或内圈进行建图时,本发明的建图方法流程简单,只要用户在建图前按启动以及所有区域的边界走完后按结束,割草机器人就可以通过自动识别和去除地图中多余的线段,使得复杂场景可以一次完成建图而且不需要后续的地图编辑处理,降低建图难度,最后只需要用户确认结果就好,大大简化了复杂场景建图的实施难度。
142.可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述实施例或技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围,即“在一些实施例”所描述的实施例可与上下任一实施例进行自由组合;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1