栅格地图参数的配置方法及配置系统与流程

文档序号:23624084发布日期:2021-01-12 10:36阅读:195来源:国知局
栅格地图参数的配置方法及配置系统与流程

本发明涉及智能控制领域,尤其涉及一种栅格地图参数的配置方法及配置系统。



背景技术:

随着科学技术的不断进步,各种自动工作设备已经开始慢慢的走进人们的生活,例如:自动吸尘机器人、自动割草机器人等。这种自动工作设备具有行走装置、工作装置及自动控制装置,从而使得自动工作设备能够脱离人们的操作,在一定范围内自动行走并执行工作,在自动工作设备的储能装置能量不足时,其能够自动返回充电站装置进行充电,然后继续工作。

机器人在工作区域内工作时,对其当前位置的定位处理尤为重要,中国专利“cn103542846a”,名称为“一种移动机器人的定位系统及其定位方法”中提出,移动机器人定位时,需要对工作区域进行栅格化处理,通过解析可知:栅格创建的结果对机器人的定位尤为重要。



技术实现要素:

为解决上述技术问题,本发明的目的在于提供一种栅格地图参数的配置方法及配置系统。

为了实现上述发明目的之一,本发明一实施方式提供一种栅格地图参数的配置方法,所述方法包括以下步骤:

驱动机器人在其工作区域行走,判断机器人是否处于已有的栅格单元内,

若是,在确定机器人处于栅格单元的预定区域时,根据最佳仰角扫描到的反光标更新栅格单元参数;

若否,在初始栅格地图中补充新的栅格单元形成新的栅格地图,并在确定机器人处于新的栅格单元的预定区域时,为新的栅格单元设置栅格单元参数;

所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;

每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;

所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;

所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;

所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

作为本发明一实施方式的进一步改进,在确认机器人未处于已有的栅格单元内,且在在初始栅格地图中补充新的栅格单元形成新的栅格地图后,所述方法具体包括:

在确认机器人处于新的栅格单元,且未处于新的栅格单元的预定区域内时,将所有已知的反光标写入当前栅格单元的不确定列表;

在确认机器人处于新的栅格单元,且处于新的栅格单元的预定区域内时,控制机器人停止行走,为当前栅格单元配置最佳仰角并写入最佳仰角列表,同时,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

将扫描到的反光标写入当前栅格单元的可见列表,将其他已知的反光标写入当前栅格单元的不确定列表,以及为可见列表中的每一反光标配置仰角范围并写入仰角范围列表。

作为本发明一实施方式的进一步改进,若确认机器人处于已有的栅格单元的预定区域内,则所述方法具体包括:

控制机器人停止行走,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

若扫描到未知的反光标,则更新反光标列表,将扫描到的未知反光标写入当前栅格单元的可见列表,以及将扫描到的未知反光标写入当前栅格单元邻域内的其他栅格单元的不确定列表后,重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新;

若未扫描到未知反光标,则直接重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新。

作为本发明一实施方式的进一步改进,重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新具体包括:

在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取可见列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;

当前的最佳仰角小于仰角范围列表中保存的最小仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;

当前的最佳仰角大于仰角范围列表中保存的最大仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;

当前的最佳仰角不小于仰角范围列表中保存的最小仰角,且不大于最大仰角时,保持当前栅格单元的栅格单元参数不变。

作为本发明一实施方式的进一步改进,若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新具体包括:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的不确定列表的数量是否小于预设第一阈值,

若否,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

若是,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;

当前的最佳仰角等于仰角范围列表中保存的最小仰角减1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;

当前的最佳仰角等于仰角范围列表中保存的最大仰角加1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;

当前的最佳仰角不小于仰角范围列表中保存的最小仰角且不大于最大仰角、小于最小仰角减1、大于最大仰角加1三个条件其中之一时,保持当前栅格单元的栅格单元参数不变。

作为本发明一实施方式的进一步改进,重新读取反光标列表并进行栅格单元参数的更新具体包括:

在对可见列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不确定列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

作为本发明一实施方式的进一步改进,若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新具体包括:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,

若否,将未被扫描到的反光标写入当前栅格单元的不可见列表中;

若是,在确认包含当前反光标的可见列表的数量不大于预设第二阈值时,保持当前栅格单元的栅格单元参数不变;

在确认包含当前反光标的可见列表的数量大于预设第二阈值时,将未被扫描到的反光标写入当前栅格单元的可见列表中,并将未被扫描到的反光标存在于邻域内的其他栅格单元可见列表中对应的最小仰角值和最大仰角值写入当前栅格单元的仰角范围列表以配置最小仰角值和最大仰角值。

作为本发明一实施方式的进一步改进,重新读取反光标列表并进行栅格单元参数的更新具体包括:

在对不确定列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不可见列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元的邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

作为本发明一实施方式的进一步改进,检查当前栅格单元的邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新具体包括:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,

若是,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

若否,在确认包含当前反光标的不确定列表的数量大于预设第三阈值时,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

在确认包含当前反光标的不确定列表的数量不大于预设第三阈值时,保持当前栅格单元的栅格单元参数不变。

为了实现上述发明目的另一,本发明一实施方式提供一种栅格地图参数的配置系统,所述系统包括:

控制模块,用于驱动机器人在其工作区域行走;

栅格单元参数处理模块,用于在机器人在其工作区域行走时,判断机器人是否处于已有的栅格单元内,若是,在确定机器人处于栅格单元的预定区域时,根据最佳仰角扫描到的反光标更新栅格单元参数;

若否,在初始栅格地图中补充新的栅格单元形成新的栅格地图,并在确定机器人处于新的栅格单元的预定区域时,为新的栅格单元设置栅格单元参数;

所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;

每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;

所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;

所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;

所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

作为本发明一实施方式的进一步改进,栅格单元参数处理模块在确认机器人未处于已有的栅格单元内,且在在初始栅格地图中补充新的栅格单元形成新的栅格地图时具体用于:在确认机器人处于新的栅格单元,且未处于新的栅格单元的预定区域内时,将所有已知的反光标写入当前栅格单元的不确定列表;

在确认机器人处于新的栅格单元,且处于新的栅格单元的预定区域内时,控制机器人停止行走,为当前栅格单元配置最佳仰角并写入最佳仰角列表,同时,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

将扫描到的反光标写入当前栅格单元的可见列表,将其他已知的反光标写入当前栅格单元的不确定列表,以及为可见列表中的每一反光标配置仰角范围并写入仰角范围列表。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块确认机器人处于已有的栅格单元的预定区域内时具体用于:

控制机器人停止行走,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

若扫描到未知的反光标,则更新反光标列表,将扫描到的未知反光标写入当前栅格单元的可见列表,以及将扫描到的未知反光标写入当前栅格单元邻域内的其他栅格单元的不确定列表后,重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新;

若未扫描到未知反光标,则直接重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块在重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新时具体用于:

在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取可见列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;

当前的最佳仰角小于仰角范围列表中保存的最小仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;

当前的最佳仰角大于仰角范围列表中保存的最大仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;

当前的最佳仰角不小于仰角范围列表中保存的最小仰角,且不大于最大仰角时,保持当前栅格单元的栅格单元参数不变。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块若确认可见列表中的任一反光标未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新时具体用于:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的不确定列表的数量是否小于预设第一阈值,

若否,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

若是,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;

当前的最佳仰角等于仰角范围列表中保存的最小仰角减1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;

当前的最佳仰角等于仰角范围列表中保存的最大仰角加1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;

当前的最佳仰角不小于仰角范围列表中保存的最小仰角且不大于最大仰角、小于最小仰角减1、大于最大仰角加1三个条件其中之一时,保持当前栅格单元的栅格单元参数不变。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块重新读取反光标列表并进行栅格单元参数的更新时具体用于:在对可见列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不确定列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块若确认不确定列表中的任一反光标未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新时具体用于:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,

若否,将未被扫描到的反光标写入当前栅格单元的不可见列表中;

若是,在确认包含当前反光标的可见列表的数量不大于预设第二阈值时,保持当前栅格单元的栅格单元参数不变;

在确认包含当前反光标的可见列表的数量大于预设第二阈值时,将未被扫描到的反光标写入当前栅格单元的可见列表中,并将未被扫描到的反光标存在于邻域内的其他栅格单元可见列表中对应的最小仰角值和最大仰角值写入当前栅格单元的仰角范围列表以配置最小仰角值和最大仰角值。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块在重新读取反光标列表并进行栅格单元参数的更新时具体用于:

在对不确定列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不可见列表中的每一反光标并判断其是否被扫描到;

若未被扫描到,则检查当前栅格单元的邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

作为本发明一实施方式的进一步改进,所述栅格单元参数处理模块在检查当前栅格单元的邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新时具体用于:检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,

若是,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

若否,在确认包含当前反光标的不确定列表的数量大于预设第三阈值时,将未被扫描到的反光标写入当前栅格单元的不确定列表中;

在确认包含当前反光标的不确定列表的数量不大于预设第三阈值时,保持当前栅格单元的栅格单元参数不变。

与现有技术相比,本发明的栅格地图参数的配置方法及配置系统,在机器人行走过程中,根据机器人的扫查仰角,实时调整机器人行走路径上的栅格单元所对应的栅格单元参数,以实现对机器人更加精准的定位。

附图说明

图1是本发明一实施方式中机器人的结构示意图;

图2是本发明一实施方式提供的栅格地图的创建方法的流程示意图;

图3是通过图1中步骤s1创建的笛卡尔直角坐标系的示意图;

图4是本发明一具体示例中创建的栅格地图的示意图;

图5是本发明一具体示例中栅格单元与其对应的边界参数的对照示意表;

图6是本发明一实施方式提供的栅格地图的更新方法的流程示意图;

图7a是本发明一具体示例中补充区域的划分示意图;

图7b是本发明一具体示例中跟随机器人的行走路径建立新的栅格单元的示意图;

图8是本发明一实施方式提供的栅格地图参数的配置方法的流程示意图;

图9、图10、图12、图14、图16分别是实现图8其中一个步骤的较佳实施方式的流程示意图;

图11是实现图10其中一个步骤的较佳实施方式的流程示意图;

图13是实现图12其中一个步骤的较佳实施方式的流程示意图;

图15是实现图14其中一个步骤的较佳实施方式的流程示意图;

图17是本发明一实施方式提供的栅格单元中最佳仰角的配置方法的流程示意图;

图18是本发明一具体示例中机器人调整为各个仰角时,其对应能够扫描到反光标的标识示意图;

图19是本发明一实施方式提供的栅格地图参数的更新方法的流程示意图;

图20、21、22是实现图19其中一个步骤的较佳实施方式的流程示意图。

图23是本发明一实施方式提供的栅格地图的创建系统的模块示意图;

图24是本发明一实施方式提供的栅格地图的更新系统的模块示意图;

图25是本发明一实施方式提供的栅格地图参数的配置系统、栅格单元中最佳仰角的配置系统、栅格地图参数的更新系统的模块示意图。

具体实施方式

以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。

本发明的机器人系统可以是割草机器人系统,或者扫地机器人系统等,其自动行走于工作区域以进行割草、吸尘工作,本发明具体示例中,以机器人系统为割草机器人系统为例做具体说明,相应的,所述工作区域可为草坪。

如图1所示,本发明的割草机器人系统包括:机器人设备和边界设备。其中,机器人设备具体为割草机器人,机器人的英文缩写以rm表示,所述割草机器人包括本体10,所述本体10上设有移动单元、定位单元、割草单元。边界设备包括独立于割草机器人存在的、可供割草机器人停靠和充电的基站30(其英文缩写为bs),连接于所述基站且沿工作区域周侧布置的边界线,以及设置于工作区域附近,且与激光信号收发装置相互配合以定位机器人坐标的反光标。

所述反光标的数量越多,定位更加精准,本发明具体实施方式中,所述反光标的数量通常为至少三个。

所述移动单元包括行走轮20,以及用于驱动行走轮的电机;电机启动后,可通过减速箱带动行走轮20行走,并控制行走轮20的转速,带动整个机器人实现前进、后推、转弯等动作。

所述定位单元包括:在机身10上设置的可360°旋转的激光转台11,和设置于激光转台11上的激光信号收发装置;所述割草单元包括:割草刀盘;另外,割草机器人还包括用于感应机器人的行走状态的各种传感器,例如:倾倒、离地、碰撞传感器等,在此不做赘述。

本发明具体应用中,采用现有技术在机器人上选定一个特征点,用于指代行走机器人的位置坐标(xrm,yrm)。

本发明较佳实施方式中,为了降低计算量,激光转台11的旋转轴与割草刀盘的旋转轴共线且垂直于地面,相应的,在激光转台的旋转轴上选定一个特征点以指代机器人的位置;当然,在本发明的其他实施方式中,还可以采用其他已知的一种定位方法或几种定位方法的结合,来获得机器人的位置坐标,例如gnss系统、惯性导航定位系统、地磁定位系统等,在此不做详细赘述。

结合图2所示,本发明一实施提供的栅格地图的创建方法,所述方法包括以下步骤:

s1,以机器人的初始定位点为坐标原点建立笛卡尔直角坐标系。

s2,以坐标原点为起始建立栅格地图的初始栅格单元。

s3,驱动机器人自初始定位点开始沿其工作区域的边界线行走,获取其在边界线上的位置坐标,并根据机器人的行走路线创建矩形的栅格地图,所述栅格地图包括以所述初始栅格单元为基准点并覆盖机器人工作区域的多个栅格单元;根据栅格地图的排布方式获取每一栅格单元的几何中心点坐标、范围坐标、中心区域范围坐标,以及结合机器人的行走路线获得表征栅格单元与边界线关系的边界参数;所述边界线包括外边界线和/或内边界线;

在确认机器人沿边界线行走完成边界学习,且确认栅格地图覆盖机器人的工作区域后,判断每一栅格单元所对应的栅格单元参数是否均完整,若是,结束栅格地图的创建;若否,对栅格单元补充栅格单元参数后,结束栅格地图的创建;所述栅格单元参数包括:每一栅格单元的几何中心点坐标、范围坐标、中心区域范围坐标以及边界参数。

本发明较佳实施中,结合图3所示,所述步骤s1具体包括:以机器人在充电桩的停靠位置为初始定位点;以俯视视角观察,以为机器人充电的充电桩的开口方向为x轴方向,并以x轴旋转90°的方向为y轴方向,建立笛卡尔直角坐标系,此时,机器人的位置坐标为(0,0)。

所述步骤s2的较佳实施方式中,将所述坐标原点设置为初始栅格单元的几何中心点,或将坐标原点设置为初始栅格单元的其中一个端点;如此,将栅格地图与机器人工作的区域统一到一个坐标系下,便于后续的处理,以下内容会详细描述。

对于步骤s3,结合图4所示,驱动机器人自初始定位点开始沿其工作区域的边界线行走过程中,同步创建栅格地图,所述栅格地图为矩形,并包括以所述初始栅格单元为基准点并覆盖机器人工作区域的多个栅格单元。

本发明一较佳实施方式中,所述步骤s3中根据栅格地图的排布方式获取每一栅格单元的几何中心点坐标、范围坐标、中心区域范围坐标具体包括:配置栅格地图包括若干个大小相等且为正方形的栅格单元;

获取每一栅格单元的几何中心点的坐标值(xgrid,ygrid),并将其配置为该栅格单元对应的位置坐标;

配置每一栅格单元的边长l∈(0,r],r表示机器人的机身宽度;

则每一栅格单元对应的范围坐标rgrid表示为:

进一步的,考虑到rm本身定位及其他误差,为了避免对rm和栅格单元之间位置关系判断的错误,在栅格单元内定义中心区,中心区对角线与栅格单元正方形的对角线重叠;相应的,每一栅格单元对应的中心区域范围坐标rcore表示为:

k为常数,其取值范围为(0,1)。

需要说明的是,由于栅格地图创建在已知坐标系中,且在该坐标系下,初始栅格单元的坐标已知,如此,根据栅格地图的排布方式可获取每一栅格单元的几何中心点坐标;进一步的,通过每一栅格单元的几何中心点坐标可以获知每一栅格单元对应的范围坐标及中心区域范围坐标。

较佳的,本发明一具体实施方式中,每一正方形栅格单元的边长l取值为2/3r,所述k的取值为3/5。

所述步骤s3中“根据栅格地图的排布方式以及结合机器人的行走路线获得表征栅格单元与边界线关系的边界参数”具体包括:为每一栅格单元配置表征边界参数的特征值,所述特征值至少包括:用于刻画栅格单元是否在内边界内的第一特征值,刻画栅格单元是否在内边界上的第二特征值,刻画栅格单元是否在外边界上的第三特征值以及刻画栅格单元是否在外边界内的第四特征值;将每一特征值以二进制数值进行存储。

具体的,初始状态下,配置每个特征值均为否的状态,驱动机器人沿其工作区域的外边界线行走过程中,将范围坐标覆盖外边界的位置坐标的栅格单元所对应的第三特征值的状态修改为是;驱动机器人沿其工作区域的内边界线行走过程中,将范围坐标覆盖内边界的位置坐标的栅格单元所述对应的第二特征值的状态修改为是;以及根据栅格单元的坐标与工作区域的边界线的位置关系调整第一特征值和第四特征值所对应具体状态。。

结合图5所示,本发明一具体示例中,grid_border参数值表示任一栅格单元的边界参数,在该示例中,特征值的数量为4个,分别为按序排布的第一特征值、第二特征值、第三特征值、第四特征值,相应的,若栅格单元中仅存在外边界,则二进制数值表示为0010;若栅格单元中仅存在内边界,则二进制数值表示为0101;若栅格单元中同时存在内边界和外边界,则二进制数值表示为0110;若栅格单元处于外边界之外的非工作区域,则二进制数值表示为0000;若栅格单元处于内边界之内的非工作区域,则二进制数值表示为1001;若栅格单元处于非边界上的工作区域,则二进制数值表示为0001。

需要说明的是,若工作区域仅存在外边界而不存在内边界,那么,该示例中的“与内边界的关系值”可以忽略设置,或将“与内边界的关系值”设置为“00”,例如:该示例中的gridborder设置为0010或0000或0001。

如图4所示,将4个特征值按照第一特征值、第二特征值、第三特征值、第四特征值顺序排布,对于栅格单元a,其对应的边界参数以二进制数值表示为0010,对于栅格单元b,其对应的边界参数以二进制数值表示为0101,对于栅格单元c,其对应的边界参数以二进制数值表示为0110,对于栅格单元d,其对应的边界参数以二进制数值表示为0000,对于栅格单元e,其对应的边界参数以二进制数值表示为1001,对于栅格单元f,其对应的边界参数以二进制数值表示为0001;进一步的,所述步骤s3中确认机器人沿边界线行走完成边界学习的方式具有多种,例如采用先用技术中的遥控,跟随或设置边界导线等方法实现,对于本实施例中使用激光发射-反射系统的割草机器人来说,获取边界坐标和判断是否完成边界学习的方法现有技术,在此不做进一步的赘述,另外,需要说明的是,完成边界学习通常为完成外边界学习,如果工作区域存在内边界,则还包括完成所有内边界学习;所述栅格单元与边界的位置关系可通过现有技术的射线法进行检测,在此不做进一步的赘述。

较佳的,在本发明具体实施方式中,由于栅格地图为矩形,如此,所述步骤s3中确认栅格地图覆盖机器人的工作区域具体包括:

获取初始栅格地图中左下角的坐标(xmin,ymin),以及右上角的坐标(xmax,ymax);则栅格地图的范围坐标rmap为{(xmax,ymax),(xmin,ymin)}。

在机器人运动过程中,可通过定位单元实时获得机器人的位置坐标,在该具体示例中,行走机器人沿边界线行走过程中,其位置坐标可以(xrm,yrm)表示;相应的,若机器人在工作区域上的任一位置(xrm,yrm)均满足:

则确认栅格地图覆盖机器人的工作区域。

当然,在本发明的其他实施方式中,也可以以机器人在工作区域内行走时过程中获得的全部坐标进行判断,若每一坐标均落入则确认栅格地图覆盖机器人的工作区域。

进一步的,所述步骤s3还需要判断每一栅格单元的栅格单元参数是否均完整,若每一栅格单元的栅格单元参数均完整时,结束栅格地图的创建。

本发明的栅格地图的创建方法以机器人的初始定位点为坐标原点建立坐标系,并将栅格地图的初始栅格单元建立在坐标原点,如此,可以将栅格地图与机器人紧密结合,在机器人工作时,使其定位更加精准。

本发明在初始栅格单元创建完成后,所述步骤s3中根据机器人的行走路线创建矩形的栅格地图并在已经补充的栅格单元上补充栅格单元参数。

相应的,结合图6所示,提出一种栅格地图的更新方法;所述栅格地图更新方法包括:

m1、在已构造的矩形的初始栅格地图外围划分多个依次相邻、且完全包覆初始栅格地图外围的补充区域;初始栅格地图包括至少1个正方形的栅格单元;任意相邻的两个补充区域相接且互不交叉;

m2、驱动机器人沿工作区域行走时,实时获取机器人的每一位置坐标;

m3、根据机器人的每一位置坐标以及栅格地图的位置坐标确认机器人在栅格地图中的位置;

m4、若确认机器人处于所述补充区域,则根据补充区域的位置坐标生成新的栅格单元,以对初始栅格地图进行更新形成新的栅格地图。

本发明较佳实施方式中,结合图7a所示,所述步骤m1具体包括:延长已构造的矩形的初始栅格地图的4条轮廓线,由4条轮廓线将矩形初始栅格地图围合范围之外的区域划分为8个补充区域;在该示例中,8个补充区域具体包括:位于初始栅格地图正上方的上侧区域,标号为1,以及以上侧区域为基础,顺时针依次相接的右上侧区域,标号为2,右侧区域,标号为3,右下侧区域,标号为4,下侧区域,标号为5,左下侧区域,标号为6,左侧区域,标号为7,以及左上侧区域,标号为8,其中,上侧区域、下侧区域在x轴方向的边共用初始栅格地图在x轴方向的边,左侧区域、右侧区域在y轴方向的边共用初始栅格地图在y轴方向的边。

本发明具体示例中,例如将初始栅格单元定义为初始栅格地图,在实际应用中,补充栅格单元之前的栅格地图均可以定义为初始栅格地图,在此不做继续赘述。

本发明较佳实施方式中,对于步骤m3,其具体包括:获取初始栅格地图中左下角的坐标(xmin,ymin),以及右上角的坐标(xmax,ymax),将机器人的当前坐标以(xrm,yrm)表示;

若满足条件xrm<xmax,xrm>xmax,yrm<ymax,yrm>ymax四个条件至少其中之一,则确认机器人当前位于补充区域。

本发明较佳实施方式中,初始栅格地图外围划分8个矩形的补充区域,进一步的,对于步骤s3,其具体包括:获取初始栅格地图中左下角的坐标(xmin,ymin),以及右上角的坐标(xmax,ymax),将机器人的当前坐标以(xrm,yrm)表示;

若满足则所述机器人位于上侧区域;

若满足则所述机器人位于右上侧区域;

若满足则所述机器人位于右侧区域;

若满足则所述机器人位于右下侧区域;

若满足则所述机器人位于下侧区域;

若满足则所述机器人位于左下侧区域;

若满足则所述机器人位于左侧区域;

若满足则所述机器人位于左上侧区域。

本发明较佳实施方式中,结合图7b所示,该示例中,区域9表示已有的栅格单元,或在已有栅格地图上补充的栅格单元,区域1-8表示补充区域。

相应的,所述步骤m4具体包括:若所述机器人位于上侧区域,则在上侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax,ymax+l),(xmin,ymin)};

若所述机器人位于上右侧区域,则分别在上侧区域、上右侧区域以及右侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax+l,ymax+l),(xmin,ymin)};

若所述机器人位于右侧区域,则在右侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax+l,ymax),(xmin,ymin)};

若所述机器人位于下右侧区域,则分别在右侧区域、下右侧栅格单元,下侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax+l,ymax+l),(xmin,ymin-l)};

若所述机器人位于下侧区域,则在下侧区域补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax,ymax),(xmin,ymin-l)};

若所述机器人位于下左侧区域,则分别在下侧区域、下左侧栅格单元,左侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax,ymax),(xmin-l,ymin-l)};

若所述机器人位于左侧区域,则在左侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax,ymax),(xmin-l,ymin)};

若所述机器人位于上左侧区域,则分别在左侧区域、上左侧区域、以及上侧区域内补充栅格单元,且形成新的栅格地图的范围坐标为{(xmax,ymax+l),(xmin-l,ymin)};

其中,l表示初始栅格地图中任一栅格单元的边长。

本发明的栅格地图的更新方法,通过将已有的栅格地图外围区域进行划分,可以在机器人行走过程中,根据机器人的位置与栅格地图外围区域的位置关系,快速更新栅格地图的覆盖区域,实现简单,有利于机器人的快速定位。

结合图8所示,本发明一实施提供一种栅格地图参数的配置方法,在实施方式中,对于每一栅格单元,其对应的栅格单元参数还包括:反光标列表、仰角范围列表以及最佳仰角列表。相应的,所述栅格地图参数的配置方法具体包括:

n1、驱动机器人在其工作区域行走,判断机器人是否处于已有的栅格单元内,若是,进入到步骤n2,若否,进入到步骤n3。

n2、在确定机器人处于栅格单元的预定区域时,根据最佳仰角扫描到的反光标更新栅格单元参数;

n3,在初始栅格地图中补充新的栅格单元形成新的栅格地图,并在确定机器人处于新的栅格单元的预定区域时,为新的栅格单元设置栅格单元参数。

所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;

每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;

所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;

所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;

所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

所述预设数量的反光标中的预设数量为一常数值,其大小可以根据需要任意指定,其最大数值小于工作区域的反光标数量之和,通常情况下,该数值为≥3的整数值。

对于步骤n2,所述预定区域可以位于栅格单元内的任一位置,其具体位置可以按照需要进行指定,本发明一较佳实施方式中,所述预定区域为栅格单元的中心区域,当行走机器人的坐标落入任一中心区域范围之内,表示机器人处于栅格单元的预定区域。

结合图9所示,本发明较佳实施方式中,所述步骤n2中若确认机器人处于已有的栅格单元的预定区域内,则所述方法具体包括:

n21、控制机器人停止行走,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

n22、若扫描到未知的反光标,则更新反光标列表,将扫描到的未知反光标写入当前栅格单元的可见列表,以及将扫描到的未知反光标写入当前栅格单元邻域内的其他栅格单元的不确定列表后,重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新;

n23、若未扫描到未知反光标,则直接重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新。

需要说明的是,本发明的步骤n22和n23的执行过程为同时执行,当然,在本发明的其它实施方式中,也可以以任一为先进行先后执行,其执行顺序不会影响最终的结果,该处采用该种标识方式,仅仅是为了便于描述。

进一步的,结合图10所示,对于步骤n22和步骤n23中的重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新具体包括:

n241、在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取可见列表中的每一反光标并判断其是否被扫描到;

n242、若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

n243、若被扫描到,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;

当前的最佳仰角小于仰角范围列表中保存的最小仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;

当前的最佳仰角大于仰角范围列表中保存的最大仰角时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;

当前的最佳仰角不小于仰角范围列表中保存的最小仰角,且不大于最大仰角时,保持当前栅格单元的栅格单元参数不变。

需要说明的是,本发明的步骤n242和n243的执行过程为同时执行,当然,在本发明的其它实施方式中,也可以以任一为先进行先后执行,其执行顺序不会影响最终的结果,该处采用该种标识方式,仅仅是为了便于描述;另外,该栅格单元的领域内的其它栅格单元,是指与当前栅格单元相邻的8个栅格单元。

进一步的,结合图11所示,本发明较佳实施方式中,所述步骤n242具体包括:

检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的不确定列表的数量是否小于预设第一阈值,若否,将未被扫描到的反光标写入当前栅格单元的不确定列表中;若是,则根据当前的最佳仰角与该栅格单元对应的仰角范围列表之间的关系进行栅格单元参数的更新;当前的最佳仰角等于仰角范围列表中保存的最小仰角减1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角;当前的最佳仰角等于仰角范围列表中保存的最大仰角加1时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最大仰角;当前的最佳仰角不小于仰角范围列表中保存的最小仰角且不大于最大仰角、小于最小仰角减1、大于最大仰角加1三个条件其中之一时,保持当前栅格单元的栅格单元参数不变。

所述第一阈值为一数量常数,其大小可以任意指定,其最大数值小于工作区域的反光标数量之和,本发明一具体实施方式中,所述第一阈值取值为5。

进一步的,结合图12所示,对于步骤n22和步骤n23中的重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新还包括:在步骤n243后执行步骤n25;具体的,所述步骤n25包括:

n251、在对可见列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不确定列表中的每一反光标并判断其是否被扫描到;

n252、若未被扫描到,则检查当前栅格单元邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

n253、若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

需要说明的是,本发明的步骤n252和n253的执行过程为同时执行,当然,在本发明的其它实施方式中,也可以以任一为先进行先后执行,其执行顺序不会影响最终的结果,该处采用该种标识方式,仅仅是为了便于描述。

进一步的,结合图13所示,本发明较佳实施方式中,所述步骤n252具体包括:检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,若否,将未被扫描到的反光标写入当前栅格单元的不可见列表中;若是,在确认包含当前反光标的可见列表的数量不大于预设第二阈值时,保持当前栅格单元的栅格单元参数不变;在确认包含当前反光标的可见列表的数量大于预设第二阈值时,将未被扫描到的反光标写入当前栅格单元的可见列表中,并将未被扫描到的反光标存在于邻域内的其他栅格单元可见列表中对应的最小仰角值和最大仰角值写入当前栅格单元的仰角范围列表以配置最小仰角值和最大仰角值。

所述第二阈值为一数量常数,其大小可以任意指定,其最大数值小于工作区域的反光标数量之和,本发明一具体实施方式中,所述第二阈值取值为5。

进一步的,结合图14所示,对于步骤n22和步骤n23中的重新扫描反光标以及读取反光标列表并根据其比对结果进行栅格单元参数的更新还包括:在步骤n253后执行步骤n26;具体的,所述步骤n26包括:

n261、在对不确定列表中的每一反光标读取完成后,在当前栅格单元内,且在当前最佳仰角下,重新扫描反光标,依次读取不可见列表中的每一反光标并判断其是否被扫描到;

n262、若未被扫描到,则检查当前栅格单元的邻域内的其他栅格单元,并根据其检查结果进行栅格单元参数的更新;

n263、若被扫描到,则将当前反光标写入当前栅格单元的可见列表中,同时,将当前栅格单元的最佳仰角写入仰角范围列表以替换最小仰角和最大仰角。

需要说明的是,本发明的步骤n262和n263的执行过程为同时执行,当然,在本发明的其它实施方式中,也可以以任一为先进行先后执行,其执行顺序不会影响最终的结果,该处采用该种标识方式,仅仅是为了便于描述。

进一步的,结合图15所示,本发明较佳实施方式中,所述步骤n262具体包括:检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,若是,将未被扫描到的反光标写入当前栅格单元的不确定列表中;若否,在确认包含当前反光标的不确定列表的数量大于预设第三阈值时,将未被扫描到的反光标写入当前栅格单元的不确定列表中;在确认包含当前反光标的不确定列表的数量不大于预设第三阈值时,保持当前栅格单元的栅格单元参数不变。

所述第三阈值为一数量常数,其大小可以任意指定,其最大数值小于工作区域的反光标数量之和,本发明一具体实施方式中,所述第三阈值取值为6。

对应于步骤n3,结合图16所示,本发明较佳实施方式中,所述步骤n3具体包括:在确认机器人处于新的栅格单元,且未处于新的栅格单元的预定区域内时,将所有已知的反光标写入当前栅格单元的不确定列表;

在确认机器人处于新的栅格单元,且处于新的栅格单元的预定区域内时,控制机器人停止行走,为当前栅格单元配置最佳仰角并写入最佳仰角列表,同时,将机器人的当前仰角调整为该栅格单元的最佳仰角后扫描反光标;

将扫描到的反光标写入当前栅格单元的可见列表,将其他已知的反光标写入当前栅格单元的不确定列表,以及为可见列表中的每一反光标配置仰角范围并写入仰角范围列表。

本发明的栅格地图参数的配置方法,在机器人行走过程中,根据机器人的扫查仰角,实时调整机器人行走路径上的栅格单元所对应的栅格单元参数,以实现对机器人更加精准的定位。

对于上述最佳仰角列表中最佳仰角的设定,其设置方式具有多种,例如:在行走机器人工作之前,在每个最佳仰角列表中直接配置一最佳仰角,本发明较佳实施方式中,结合图17所示,提供一种栅格单元中最佳仰角的配置方法,所述方法具体包括:

p1、驱动机器人在其工作区域行走,在机器人进入每一栅格单元时进行最佳仰角的设置;

p2、若栅格单元存在最佳仰角,且在确认机器人在该最佳仰角下可以扫描到预设数量的反光标时,将机器人处于该栅格单元时的仰角值调整为当前栅格单元的最佳仰角;

p3、若栅格单元不存在最佳仰角,或栅格单元存在最佳仰角、且在确认该最佳仰角下机器人未扫描到预设数量的反光标时,将机器人在当前栅格单元内可以扫描到预设数量反光标的仰角值调整为当前栅格单元新的最佳仰角。

需要说明的是,本发明的步骤p2和p3的执行过程为同时执行,当然,在本发明的其它实施方式中,也可以以任一为先进行先后执行,其执行顺序不会影响最终的结果,该处采用该种标识方式,仅仅是为了便于描述。

对于机器人的仰角设置,可以设置电机,并采用步进的方式进行控制,机器人的仰角范围可以根据需要具体设定,本发明一具体实施方式中,所述机器人的仰角范围为(±5°,±4°,±3°,±2°,±1°,0)。

本发明较佳实施方式中,对于步骤p1,驱动机器人在其工作区域行走过程中,若机器人进入任一栅格单元的中心区域时,对机器人的当前仰角以及该栅格单元的最佳仰角列表中的最佳仰角进行调整。

对于步骤p2,当前栅格单元若存在最佳仰角,则在将机器人的当前仰角调整为最佳仰角后,对反光标进行扫描,若扫描到预设数量的反光标,则表示最佳仰角设置正确,保持当前栅格单元的最佳仰角列表中的值不变,如未扫描到预设数量的反光标则按照步骤p3进行最佳仰角的调整。

对于步骤p3,本发明一种可实现方式中,所述p3包括:p31、控制机器人停止行走,将机器人的当前仰角调整为初始仰角;若在初始仰角下,机器人可以扫描到预设数量的反光标,则将初始仰角调整为当前栅格单元的最佳仰角并进行保存,同时保存所有扫描到的反光标,以及每一反光标被扫描到时对应的仰角范围。

本发明另一实施方式中,所述p3包括:p32、控制机器人停止行走,将所述机器人依序调整为其所能设置的每一仰角;在每一仰角下均扫描反光标,保存所有扫描到的反光标,以及每一反光标被扫描到时对应的仰角范围;根据保存的反光标以及每一反光标被扫描到时对应的仰角范围获取在当前栅格单元内可以扫描到预设数量的反光标所对应的至少一个最佳仰角。

需要说明的是,本发明的步骤p31和p32可以为两个并列的方案,也可以为按照p31、p32先后执行的同一方案,当p31、p32先后执行时,首先在将机器人调整为初始仰角,若该初始仰角下可以扫描到预设数量的反光标,则确认初始仰角为最佳仰角,若未扫描到预设数量的反光标,则遍历所有仰角值,以获取最佳仰角。

所述初始仰角为机器人的仰角中的一个,其具体数值可以根据需要具体设定,本发明一具体示例中,将该初始仰角值设定为0°。

本发明具体实现过程中,可以扫描到预设数量反光标时的机器人仰角可能为1个也可能为多个,相应的,当仰角为多个时,每个仰角均可以作为当前栅格单元的最佳仰角。

本发明一较佳实施中,选取距离机器人在行走至当前栅格单元的上一栅格单元所设置的仰角调整幅度最小的最佳仰角作为当前栅格单元的最佳仰角。

本发明另一较佳实施方式中,也可以选取当前栅格单元中最佳仰角中的最大值作为当前栅格单元的最佳仰角。

为了便于理解上述技术方案,本发明对步骤p3描述一具体示例供参考。

该具体示例中,初始仰角为0°,仰角的上限值为5°,下限值为-5°,设定预设数量的反光标为3个。

在将机器人调整为初始仰角后,确认其可以扫描到的反光标为2个,其分别为反光标1和反光标3,在该初始仰角下,其能扫描到的反光标的数量小于预设数量,如此,需要执行步骤p32。

进一步的,将机器人依次调整为-5°~5°的每一个仰角值,并在每一仰角下获得其可以扫描到放光标的数量及具体反光标,结合图18所示,为在每一仰角值下获得的反光标列表,该列表中标识为“y”的单元格表示扫描过程中,可见的反光标。

对图18所示列表进行统计,可获得在当前栅格单元内存储反光标1~3的仰角范围,对于反光标1,其最小仰角为0°,最大仰角为2°;对于反光标2,其最小仰角为1°,最大仰角为4°;对于反光标3,其最小仰角为-°,最大仰角为2°;进一步的,统计可以同时扫描到反光标的仰角值具有两个,分别为1°和2°。进一步的,本发明一可实现方式中,选取当前栅格单元中最佳仰角中的最大值作为当前栅格单元的最佳仰角,如此,将2°作为当前栅格单元的最佳仰角。

本发明的栅格单元中最佳仰角的配置方法,通过机器人扫描到反光标的数量验证栅格单元的最佳仰角,利于机器人的精确定位。

对栅格地图参数的更新时刻具有多种设定,前述实施方式中,在机器人行走过程中,实时根据机器人的位置以及机器人的状态对栅格地图参数进行创建及更新。本发明较佳实施方式中,当机器人接收到更新信号时,也会对栅格地图参数进行更新。具体的,结合图19所示,本发明一实施方式提供一种栅格地图参数的更新方法,所述方法包括:q1、当机器人接收到更新信号时,依次读取每一栅格单元的栅格单元参数。

q2、根据当前栅格单元以及其邻域内的栅格单元所对应的栅格单元参数更新当前栅格单元的栅格单元参数。所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

对于q1,本发明具体实施方式中,当机器人进入基站停靠或充电时,确认机器人接收到更新信号;当然,在本发明其他实施方式中,也可以用户辅助输入更新信号,在此不做进一步的赘述。

本发明较佳实施方式中,结合图20所示,对于步骤q2,所述方法具体包括:

q21、依次读取每一栅格单元的可见列表,以获取每一可见列表中的反光标;

q22、检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的不确定列表的数量是否大于第一更新阈值,若是,将该反光标自当前栅格单元的可见列表移入当前栅格单元的不确定列表;若否,保持当前栅格单元的栅格单元参数不变。

所述第一更新阈值为一数量常数,其大小可以任意指定,其最大数值小于工作区域的反光标数量之和,本发明一具体实施方式中,所述第一更新阈值取值为7。

进一步的,结合图21所示,对于步骤q2,所述方法还包括:在步骤q22后顺序执行步骤q31和q32;具体的,所述步骤q31包括:

q31、在对任一栅格单元的可见列表中的每一反光标读取完成后,在当前栅格单元内,依次读取每一栅格单元的不确定列表,以获取每一不确定列表中的反光标;

q32、检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的不可见列表的数量是否大于第二更新阈值,若是,将该反光标自当前栅格单元的不确定列表移入当前栅格单元的不可见列表;若否,保持当前栅格单元的栅格单元参数不变。

所述第二更新阈值为一数量常数,其大小可以任意指定,其最大数值小于工作区域的反光标数量之和,本发明二具体实施方式中,所述第二更新阈值取值为5。

进一步的,结合图22所示,对于步骤q2,所述方法还包括:在步骤q32后顺序执行步骤q41和q42;具体的,所述步骤q41包括:

q41、在对任一栅格单元的不确定列表中的每一反光标读取完成后,在当前栅格单元内,依次读取每一栅格单元的不可见列表,以获取每一不可见列表中的反光标;

q42、检查当前栅格单元邻域内的其他栅格单元,判断包含当前反光标的可见列表的数量是否不为零,若否,保持当前栅格单元的栅格单元参数不变;若是,在确认包含当前反光标的可见列表的数量不大于第二可见阈值时,将该反光标自当前栅格单元的不可见列表移入当前栅格单元的不确定列表;在确认包含当前反光标的可见列表的数量大于第二可见阈值时,将当前反光标存在于邻域内的其他栅格单元可见列表中对应的最小仰角值和最大仰角值分别修改为当前栅格单元的最小仰角值和最大仰角值。

本发明的栅格地图参数的更新方法,在机器人接收到更新信号时,根据当前栅格单元与其相邻栅格单元的栅格单元参数对栅格地图中的所有栅格单元参数进行整体更新,以实现对机器人更加精准的定位。

结合图23所示,提供一种栅格地图的创建系统,所述系统包括:坐标建立模块100,栅格地图创建模块200以及栅格单元参数处理模块300。

坐标建立模块100用于以机器人的初始定位点为坐标原点建立笛卡尔直角坐标系。

栅格地图创建模块200用于以坐标原点为起始建立栅格地图的初始栅格单元;驱动机器人自初始定位点开始沿其工作区域的边界线行走,获取其在边界线上的位置坐标,并根据机器人的行走路线创建矩形的栅格地图,所述栅格地图包括以所述初始栅格单元为基准点并覆盖机器人工作区域的多个栅格单元。栅格单元参数处理模块300用于根据栅格地图的排布方式获取每一栅格单元的几何中心点坐标、范围坐标,以及结合机器人的行走路线获得表征栅格单元与边界线关系的边界参数;所述边界线包括外边界线和/或内边界线。

所述栅格地图创建模块200还用于在确认机器人沿边界线行走完成边界学习,且确认栅格地图覆盖机器人的工作区域后,通过栅格单元参数处理模块300判断每一栅格单元所对应的栅格单元参数是否均完整,若是,结束栅格地图的创建;若否,对栅格单元补充栅格单元参数后,结束栅格地图的创建;所述栅格单元参数包括:每一栅格单元的几何中心点坐标,范围坐标以及边界参数。

本发明较佳实施中,坐标建立模块200具体用于执行步骤s1的流程建立笛卡尔直角坐标系;栅格地图创建模块200执行步骤s2的流程;栅格单元参数处理模块300执行步骤s3的流程,在此不做进一步的赘述。

结合图24所示,本发明一实施方式提供一种栅格地图的更新系统,所述系统包括:区域划分模块400、控制模块500以及栅格地图更新模块600。

区域划分模块400用于在已构造的矩形的初始栅格地图外围划分多个依次相邻、且完全包覆初始栅格地图外围的补充区域;初始栅格地图包括至少1个正方形的栅格单元;任意相邻的两个补充区域相接且互不交叉。

控制模块500用于驱动机器人沿工作区域行走时,实时获取机器人的每一位置坐标。

栅格地图更新模块600用于根据机器人的每一位置坐标以及栅格地图的位置坐标确认机器人在栅格地图中的位置;若确认机器人处于所述补充区域,则根据补充区域的位置坐标生成新的栅格单元,以对初始栅格地图进行更新形成新的栅格地图。

本发明较佳实施方式中,所述区域划分模块400执行步骤m1的流程;控制模块500执行步骤m2的流程;栅格地图更新模块600执行步骤m3、m4的流程,在此不做进一步的赘述。

结合图25所示,本发明一实施方式提供一种栅格地图参数的配置系统,所述系统包括:如上所述的栅格单元参数处理模块300和控制模块500。

该实施方式中,控制模块500用于驱动机器人在其工作区域行走。

栅格单元参数处理模块300用于在机器人在其工作区域行走时,判断机器人是否处于已有的栅格单元内,若是,在确定机器人处于栅格单元的预定区域时,根据最佳仰角扫描到的反光标更新栅格单元参数;若否,在初始栅格地图中补充新的栅格单元形成新的栅格地图,并在确定机器人处于新的栅格单元的预定区域时,为新的栅格单元设置栅格单元参数;所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

本发明具体实施方式中,所述栅格单元参数处理模块300执行步骤n2、n3;进一步的,所述栅格单元参数处理模块300执行n21、n22、n23、n241、n242、n243、n251、n252、n253、n261、n262、n263的流程,在此不做进一步的赘述。

继续结合图25所示,本发明一实施方式提供一种栅格单元中最佳仰角的配置系统,在该实施方式中,控制模块500用于驱动机器人在其工作区域行走;

栅格单元参数处理模块300用于在机器人进入每一栅格单元时进行最佳仰角的设置;若栅格单元存在最佳仰角,且在确认机器人在该最佳仰角下可以扫描到预设数量的反光标时,将机器人处于该栅格单元时的仰角值调整为当前栅格单元的最佳仰角;若栅格单元不存在最佳仰角,或栅格单元存在最佳仰角、且在确认该最佳仰角下机器人未扫描到预设数量的反光标时,将机器人在当前栅格单元内可以扫描到预设数量反光标的仰角值调整为当前栅格单元新的最佳仰角。

本发明具体实施方式中,所述栅格单元参数处理模块300执行步骤p2、p3;进一步的,所述栅格单元参数处理模块300执行p31、p32的流程,在此不做进一步的赘述。

继续结合图25所示,本发明一实施方式提供一种栅格地图参数的更新系统,在该实施方式中,控制模块500用于实时接收更新信号;

栅格单元参数处理模块300用于在接收到更新信号时,依次读取每一栅格单元的栅格单元参数;根据当前栅格单元以及其邻域内的栅格单元所对应的栅格单元参数更新当前栅格单元的栅格单元参数;所述栅格单元参数包括:反光标列表、仰角范围列表以及最佳仰角列表;每一所述反光标列表均存储全部已知反光标,其包括:存储内容互不相同的可见列表、不确定列表以及不可见列表;所述可见列表至少存储机器人处于最佳仰角下时,在当前栅格单元中可以扫描到的反光标,所述不确定列表存储其对应栅格单元中无法确定能否扫描到的反光标,所述不可见列表存储其对应栅格单元中无法扫描到的反光标;所述仰角范围列表存储分别对应于可见列表中的每一反光标所能够被扫描到时的最小仰角和最大仰角;所述最佳仰角列表存储机器人处于当前栅格单元时、能够扫描到预设数量反光标的至少一个仰角值。

本发明具体实施方式中,所述控制模块500具体用于:当机器人进入基站停靠或充电时,确认接收到更新信号。

本发明具体实施方式中,所述栅格单元参数处理模块300执行步骤q2;进一步的,所述栅格单元参数处理模块300执行q21、q22、q31、q32、q41、q42的流程,在此不做进一步的赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。

与现有技术相比,本发明上述方法及系统,描述了栅格地图的创建、更新以及栅格地图中各个栅格单元所述对应的栅格单元参数的创建及更新,以通过栅格地图与机器人的紧密结合,在机器人工作时,使机器人定位更加精准,提高机器人的工作效率。

在本申请所提供的几个实施方式中,应该理解到,所揭露的模块,系统和方法,均可以通过其它的方式实现。以上所描述的系统实施方式仅仅是示意性的,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上,可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。

另外,在本申请各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

最后应说明的是:以上实施方式仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施方式对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施方式技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1