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

移动机器人控制方法、装置、设备及存储介质与流程

2022-07-10 15:35:25 来源:中国专利 TAG:


1.本发明涉及移动机器人技术领域,尤其涉及一种移动机器人控制方法、装置、设备及存储介质。


背景技术:

2.目前,割草机器人、清洁机器人等移动机器人在工作过程中,当进入到特定区域时,例如墙、桌子、篱笆、以及其他障碍物围成的区域,通常会以预先设定的角度进行旋转。但当该特定区域比较狭窄时,由于该预先设定的角度通常较大,移动机器人需要进行多次旋转控制,才能脱离出该特定区域,不仅造成大量时间和资源(例如电量)的浪费,也严重影响了移动机器人的工作效率。


技术实现要素:

3.本发明提供了一种移动机器人控制方法、装置、设备及存储介质,能够使移动机器人快速通过狭窄区域,减少时间和资源的浪费,提高移动机器人的工作效率。
4.一方面,本发明提供了一种移动机器人控制方法,所述方法包括:
5.当移动机器人检测到边界时,获取当前边界点;
6.基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
7.基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
8.根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
9.控制所述移动机器人按照所述旋转角度进行旋转。
10.在一个可行的实施方式中,在所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定之前,还包括:
11.判断所述边界点序列中的边界点个数是否大于或等于预设边界点数;
12.若所述边界点个数大于或等于所述预设边界点数,则执行所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定的步骤。
13.在另一个可行的实施方式中,所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,包括:
14.从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点;
15.基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
16.在另一个可行的实施方式中,所述从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点,包括:
17.从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点;
18.相应的,所述基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定,包括:
19.以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构;
20.基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
21.在另一个可行的实施方式中,所述基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
22.在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离;
23.基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
24.在另一个可行的实施方式中,所述基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
25.判断所述第一距离和所述第二距离是否均小于或等于第一预设阈值;
26.若所述第一距离大于所述第一预设阈值,或者,所述第二距离大于所述第一预设阈值,则判定所述移动机器人未处于所述狭窄区域。
27.在另一个可行的实施方式中,所述方法还包括:
28.若所述第一距离和所述第二距离均小于或等于所述第一预设阈值,则将所述当前边界点和所述第一边界点之间连线所形成的边,确定为参考边;
29.计算所述第二边界点到所述参考边的垂直距离;
30.判断所述垂直距离是否小于第二预设阈值;
31.若所述垂直距离小于所述第二预设阈值,则判定所述移动机器人处于所述狭窄区域;
32.若所述垂直距离大于或等于所述第二预设阈值,则判定所述移动机器人未处于所述狭窄区域。
33.在另一个可行的实施方式中,若所述预设值为预设计数器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
34.若所述判定的结果表征所述移动机器人处于所述狭窄区域,则将所述预设计数器的值加第一预设数值;
35.若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计数器的值设置为预设初始值。
36.在另一个可行的实施方式中,若所述预设值为预设计时器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
37.若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计时器的值进行重置。
38.在另一个可行的实施方式中,所述根据所述预设值确定所述移动机器人的旋转角
度,包括:
39.将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;
40.在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
41.另一方面提供了一种移动机器人控制装置,所述装置包括:
42.边界点获取模块,用于当移动机器人检测到边界时,获取当前边界点;
43.狭窄区域判定模块,用于基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
44.预设值调整模块,用于基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
45.角度确定模块,用于根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
46.控制模块,用于控制所述移动机器人按照所述旋转角度进行旋转。
47.另一方面提供了一种控制设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如上所述的移动机器人控制方法。
48.另一方面提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上所述的移动机器人控制方法。
49.由于上述技术方案,本发明具有如下有益效果:
50.本发明在每次检测到边界时,均将该边界对应的边界点记录下来,并利用当前检测到的边界点和历史记录的边界点,对当前移动机器人是否处于狭窄区域进行判定,然后根据判定的结果对预设值进行调整;由于预设值指示了移动机器人连续处于狭窄区域的情况,从而根据预设值可以更合理的确定出移动机器人的旋转角度,使得移动机器人基于该旋转角度能够快速的脱离出狭窄区域,减少时间和资源的浪费,提高工作效率。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
52.图1是本发明实施例提供的一种应用环境的示意图。
53.图2是本发明实施例提供的一种移动机器人控制方法的流程示意图。
54.图3是本发明实施例提供的另一种移动机器人控制方法的流程示意图。
55.图4是本发明实施例提供的另一种移动机器人控制方法的流程示意图。
56.图5是本发明实施例提供的选取连续的边界点所形成的三角形结构示意图。
57.图6是本发明实施例提供的一种狭窄区域判定的流程示意图。
58.图7是本发明实施例提供的另一种狭窄区域判定的流程示意图。
59.图8是本发明实施例提供的一种移动机器人控制方法的一个示例。
60.图9是本发明实施例提供的一种移动机器人控制装置的结构框图示意图。
61.图10是本发明实施例提供的控制设备的硬件结构示意图。
具体实施方式
62.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
63.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
64.请参阅图1,其示出了本发明实施例提供的一种应用环境示意图,在图1中以割草机器人执行割草任务为例进行说明。如图1所示,该应用环境可以包括割草机器人1、边界线2和障碍物3,割草机器人1在由边界线2围绕成的工作区域4中执行割草任务,障碍物3是泛指花坛、篱笆以及墙壁等阻碍割草机器人行进的物体。
65.割草机器人1在启动时,会启动一个计数器,以记录连续处于狭窄区域的情况;在行进过程中,记录下每次检测到边界时的边界点,并根据当前边界点和历史记录的边界点确定当前是否处于狭窄区域;并根据狭窄区域的确定结果,对计数器的值进行调整;然后基于计数器的值,确定需要旋转的角度。
66.如图1中,割草机器人1在执行割草任务过程中按预先规划的行驶路径行进。在行驶过程中,先检测到障碍物3的边界,记录下边界点a,当前历史记录中并未包含任何边界点,割草机器人1按照默认方式选择旋转角度,并将边界点a保存至历史记录中;接着,检测到边界线2的边界,记录下边界点b,当前历史记录中已存储有边界点a,可以根据边界点a和边界点b确定是否处于狭窄区域,根据狭窄区域确定结果对计数器的值进行调整,基于计数器的值选择旋转角度,并将边界点b存储至历史记录中;然后,检测到边界线2的边界,记录下边界点c,当前历史记录中已存储有边界点a和边界点b,可以根据边界点a、边界点b以及边界点c确定是否处于狭窄区域,根据狭窄区域确定结果对计数器的值进行调整,基于计数器的值选择旋转角度,并将边界点c存储至历史记录中。
67.通过记录历史的边界点,确定是否处于狭窄区域以及确定连续处于狭窄区域的情况,来确定割草机器人的旋转角度,可以防止割草机器人长时间处于狭窄区域时,由于不能选择合适的旋转角度,导致不能快速脱离出狭窄区域,影响割草机器人的割草效率。
68.需要说明的是,图1仅仅是一个示例。在一些实施例中,割草机器人也可以是其他类型的移动机器人,例如清洁机器人等等。
69.在实际应用中,移动机器人的工作区域内可能存在各种规则或不规则的障碍物,
这就需要移动机器人能够快速适应这些不同障碍物组成的复杂环境,从而尽快完成工作任务。比如,越来越多的家庭选择使用割草机器人来修剪草坪,但是不同家庭的草坪面积,布局,摆设是多种多样的,这就需要割草机器人能够更加智能化的,更加快速的完成草坪的修剪。
70.而在草坪中往往存在比较长的狭窄的通道,或者比较狭小的区域,割草机器人进入这些区域后,无法快速脱离,在里面花费大量时间和电量进行割草,这对整个修剪草坪的效率造成极大的影响,同时也造成时间和能源的浪费。
71.由此可见,在使用移动机器人执行工作任务时,由于各种边界线或障碍物的存在,将会出现很多不同大小的区域,如何快速确定这些区域是否是狭窄区域,以及处于狭窄区域时能快速脱离,将会对移动机器人完成工作任务产生至关重要的影响。
72.基于以上描述,为了能准确确定移动机器人是否处于狭窄区域,以及当处于狭窄区域时能够快速通过狭窄区域,减少时间和资源的浪费,提高移动机器人的工作效率,本发明实施例提供了一种移动机器人控制方法。
73.图2是本发明实施例提供的一种移动机器人控制方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
74.s201,当移动机器人检测到边界时,获取当前边界点。
75.本发明实施例中,移动机器人是指自动执行工作的机器装置,边界是指阻碍移动机器人行进的边界线以及各种障碍物的边缘,当前边界点用于指示所检测到的边界的位置,如图1中的边界点a、边界点b以及边界点c。其中,边界线可以是物理的,例如墙、篱笆等,也可是电磁线等。
76.在具体实施时,如图1所示,可以以移动机器人启动时的中心点位置为原点,以移动机器人的当前朝向为y轴正方向,垂直于y轴方向为x轴方向建立参考坐标系,基于该参考坐标系获取当前边界点的坐标。可以理解的,对于安装有陀螺仪的移动机器人,也可以基于陀螺仪的偏移来确定出当前边界点的坐标,本说明书对当前边界点的获取方式不做具体限定。
77.s202,基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的。
78.在移动机器人工作过程中,将每次检测到边界时对应的边界点记录下来,并存储至边界点序列中。在基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定之前,可以对边界点序列中的边界点个数进行判定。如果边界点个数小于预设边界点数,则从默认范围中随机选择一个角度作为移动机器人的旋转角度。通常而言,该默认范围是程序预先设定的能够避免与边界发生碰撞的范围,例如60度到120度之间。
79.如果边界点序列中的边界点个数大于或等于预设边界点数,则执行步骤s02,基于
所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定。
80.具体而言,参照图3中所示,步骤s202可以包括:
81.s2021,从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点。
82.本发明实施例中,连续的边界点是指连续检测到边界时所记录的边界点。例如,若用ci表示第i次检测到边界时所记录的边界点,当前边界点用cn表示,则cn的前预设个数连续的边界点依次为c
n-1
、c
n-2
、c
n-3
、c
n-4


。若将该预设个数连续的边界点确定为一个边界点序列,假设当前是第9次检测到边界,当前边界点可用c9表示,若预设个数为6个,则由前6次检测到边界时所记录的边界点构成边界点序列为{c8,c7,c6,c5,c4,c3}。
83.s2022,基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
84.由于每个边界点都是每次检测到边界时所记录的,如果所记录的边界点的时间与当前时间间隔较远,该边界点将不具有参考价值,可以将该边界点剔除。鉴于此,步骤s2022可以包括:由所述预设个数连续的边界点构成一个边界点序列,并获取当前时间;将所述当前时间与预设时间间隔值相加,得到参考时间;在所述边界点序列中,将每个边界点对应的记录时间与所述参考时间进行比较;若所述记录时间早于所述参考时间,则将所述边界点从所述边界点序列中剔除,得到目标序列;根据所述目标序列中各个边界点,对移动机器人是否处于狭窄区域进行判定。
85.在具体实施时,可以统计目标序列中边界点的个数,如果边界点的个数大于设定的阈值,则可判定移动机器人处于狭窄区域;如果边界点的个数小于或等于该设定的阈值,则可判定移动机器人未处于/脱离狭窄区域。
86.除此之外,在一些实施例中,也可以直接选取前两个连续的边界点结合当前边界点,对移动机器人是否处于狭窄区域进行判定。参照图4中所示,步骤s2021可以包括:
87.s20211,从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点。
88.相应的,步骤s2022可以包括:
89.s20221,以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构。
90.s20222,基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
91.可以理解的,也可以从上述经过时间筛选后的目标序列中获取第一边界点和第二边界点。换言之,在第一边界点和第二边界点对应的记录时间均晚于参考时间时,才根据当前边界点、第一边界点和第二边界点所形成的三角形结构确定机器人是否处于狭窄区域。
92.如图5所示,若用cn表示当前边界点,则所选取的第一边界点为c
n-2
,第二边界点为c
n-1
,由cn、c
n-2
以及c
n-1
为顶点所确定的三角形δc
ncn-2cn-1
来确定移动机器人是否处于狭窄区域。
93.具体如图6所示,步骤s20222可以包括:
94.s202221,在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所
述第一边界点之间的距离,得到第一距离和第二距离。
95.如图5中的三角形结构,基于第二边界点c
n-1
、当前边界点cn和第一边界点c
n-2
的坐标,可以通过海伦公式分别计算出边c
ncn-1
以及边c
n-1cn-2
的边长,得到第一距离d1和第二距离d2。
96.s202222,基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
97.本发明实施例中,如图7所示,步骤s202222可以包括:
98.s701,判断第一距离是否小于或等于第一预设阈值。
99.若第一距离大于第一预设阈值,则执行步骤s706;若第一距离小于或等于第一预设阈值则执行步骤s702。
100.s702,判断第二距离是否小于或等于第一预设阈值。
101.若第二距离大于第一预设阈值,则执行步骤s706;若第二距离小于或等于第一预设阈值则执行步骤s703。
102.s703,将当前边界点和第一边界点之间连线所形成的边,确定为参考边。
103.s704,计算第二边界点到参考边的垂直距离。
104.s705,判断垂直距离是否小于第二预设阈值。
105.若垂直距离大于或等于第二预设阈值,则执行步骤s706;若垂直距离小于或等于第二预设阈值则执行步骤s707。
106.s706,判定移动机器人未处于狭窄区域。
107.s707,判断移动机器人处于狭窄区域。
108.举例说明,参照图5中所示,第一距离为边c
ncn-1
的边长d1,第二距离为边c
n-1cn-2
的边长d2,只要d1和d2中任意一个大于第一预设阈值,则说明两个边界点之间有足够的空间可以使移动机器人通过,因而判定移动机器人未处于狭窄区域。若d1和d2均小于或等于第一预设阈值,由于第二边界点c
n-1
为中间点,可通过第二边界点c
n-2
到边c
ncn-2
的垂直距离h,确定移动机器人是否处于狭窄区域。如果h大于或等于第二预设阈值,由于h可看成是垂直于边c
ncn-2
的区域的横向距离,在横向距离足够大时,该区域也有足够的构建使移动机器人通过,因而判定移动机器人未处于狭窄区域。
109.s203,基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况。
110.本发明实施例中,预设值包括预设计数器的值和预设计时器的值,当移动机器人启动工作时,会启动预设计数器或预设计时器,在每次对狭窄区域判定结束后,会基于判定结果对该预设计数器的值或该预设计时器的值进行调整。
111.具体地,若所述预设值为预设计数器的值,则步骤s203可以包括:若所述判定的结果表征所述移动机器人处于所述狭窄区域,则将所述预设计数器的值加第一预设数值;若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计数器的值设置为预设初始值。
112.其中,第一预设数值可以是任意固定的数值或者按照预设计算方式所确定的值,通常可以将第一预设数值设置为1。一旦检测到移动机器人未处于狭窄区域,即移动机器人脱离狭窄区域,则将预设计数器的值恢复到初始状态,例如恢复到零。可以理解的,预设计
数器的值越大,表示移动机器处于狭窄区域中的时间越长,当预设初始值为0,第一预设数值为1时,预设计数器可表征移动机器人连续处于狭窄区域的次数。
113.进一步的,若所述预设值为预设计时器的值,则步骤s203还可以包括:若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计时器的值进行重置。也就是说,在判定结果表征移动机器人处于狭窄区域时,预设计时器继续进行计时操作;反之,则将预设计时器的值重置为初始状态,也即重置为零。
114.s204,根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中。
115.具体地,步骤s204可以包括:将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
116.本发明实施例中,预设范围与预设值成反比关系是指预设值越大,预设范围的最小角度和最大角度越大,预设值越小,预设范围的最小角度和最大角度越小。预设范围集中存储有不同预设值(包括预设计数器的值和预设计时器的值)对应的预设范围,每个预设范围可以根据具体应用环境进行设置。以预设计数器的值为例,若预设初始值为0,每次增加的步长即第一预设数值为1,则具体实施时,各预设范围可以按照如下表所示进行设置:
117.预设计数器的值预设范围0(60
°
,90
°
)1(45
°
,75
°
)2(30
°
,60
°
)大于或等于3(15
°
,45
°
)
118.也就是说,若移动机器人并未处于狭窄区域,则随机选取旋转角度的范围为(60
°
,90
°
);若移动机器人连续1次处于狭窄区域,则随机选取旋转角度的范围为(45
°
,75
°
);若移动机器人连续2次处于狭窄区域,则随机选取旋转角度的范围为(30
°
,60
°
);若连续3次及以上处于狭窄区域,则随机选取旋转角度的范围为(15
°
,45
°
)。
119.可以理解的,预设值越大,说明移动机器人长期处于狭窄区域的概率越大,若旋转角度的值过大,可能会对移动机器人的旋转进行多次控制,才能使移动机器人脱离出狭窄区域。因而,预设范围与预设值成反比关系,也即预设值越大,预设范围的最小值和最大值也越大。如上表中,当预设计数器的值为0时,预设范围的最小角度为60
°
,最大值为90
°
;当预设计数器的值为1时,预设范围的最小角度为45
°
,最大值为75
°
;当预设计数器的值为2时,预设范围的最小角度为30
°
,最大值为60
°
;当预设计数器的值大于或等于3时,预设范围的最小角度为15
°
,最大值为45
°

120.需要说明的是,上表中各预设计数器的值所对应的预设范围仅仅是一个示例,并不用于限定本发明实施例。
121.s205,控制所述移动机器人按照所述旋转角度进行旋转。
122.下面以割草机器人为例,对本发明的移动机器人控制方法进行详细阐述。
123.如图8中所示,其为本发明实施例提供的一种移动机器人控制方法的一个示例。在图8中,在工作区域内有一规则花坛,花坛宽度边缘距离边界线的距离是200cm,花坛长度边缘一侧距离边界线的距离是80cm。
124.假设预设值为预设计数器的值,第一预设阈值为5m(三角形边长的阈值),第二预设阈值为1m(垂直距离的阈值),预设计数器的预设初始值为0,预设计数器每次增加的步长即第一预设数值为1,预设边界点数2(边界点序列中边界点个数的阈值),预设个数也为2(从边界点序列中选取的连续的边界点个数)。s为割草机器人执行割草任务的启动点,c1、c2、c2、c3、c4、c5、c6、c7、c8、c9、c
10
以及c
11
为执行割草任务过程中检测到的各边界点。
125.割草机器人在s位置处启动工作,将预设计数器的值设置为预设初始值(0)。
126.第一次检测到边界时,记录当前边界点c1,边界点序列中的边界点个数为0,小于预设边界点数(2),预设计数器的值为0,在(60
°
,90
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,将c1加入到边界点序列中,此时边界点序列为{c1}。
127.第二次检测到边界时,记录当前边界点c2,边界点序列中的边界点个数为1,小于预设边界点数(2),预设计数器的值为0,在(60
°
,90
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,将c2加入到边界点序列中,此时边界点序列为{c1,c2}。
128.第三次检测到边界时,记录当前边界点c3,边界点序列中的边界点个数为2,等于预设边界点数(2),然后从边界点序列中获取前两次连续的边界点即c1和c2,并由c1、c2和c3三个点为顶点组成的三角形δc1c2c3确定割草机器人是否处于狭窄区域。
129.在狭窄区域的判定过程中,先判断由c1和c2两点连线形成的边长,以及由c2和c3两点连线形成的边长,是否均小于或等于第一预设阈值(5m)。如果两者有任意一个大于5m,则判定未处于狭窄区域,并将预设计数器的值设置为预设初始值(0);如果两者均小于或等于5m,则获取边界点c2到由c1和c3两点连线形成的边长的垂直距离;如果该垂直距离小于第二预设阈值(1m),则判定处于狭窄区域,将预设计数器的值加第一预设数值(1);如果该垂直距离大于或等于1m,则判定未处于狭窄区域,并将预设计数器的值设置为预设初始值(0)。
130.假设此时判定结果是移动机器人未处于狭窄区域,即预设计数器的值为0,则在(60
°
,90
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,并将c3加入到边界点序列中,此时边界点序列为{c1,c2,c3}。
131.按照上述步骤,依次对每次检测到边界时是否处于狭窄区域进行判定,然后根据判定结果调整预设计数器的值,并基于预设计数器的值,选择旋转角度的范围,从而控制割草机器人的旋转。
132.若在第四次、第五次以及第六次检测到边界时,所判定的结果均是移动机器人未处于狭窄区域,即预设计数器的值为0。
133.而当第七次检测到边界时,此时边界点序列为{c1,c2,c3,c4,c5,c6},当前边界点为c7,在由c5、c6和c7三个点为顶点组成的三角形δc5c6c7中,c6到边c5c7的垂直距离(60cm)小于1m,判定割草机器人处于狭窄区域中,因而将预设计数器的值加1。即预设计数器的值为1,则在(45
°
,75
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
134.当第八次检测到边界时,基于由c6、c7和c8三个点为顶点组成的三角形δc6c7c8确定割草机器人处于狭窄区域中,由于花坛离边界线的距离是80cm,垂直距离肯定小于1m,因而将预设计数器的值加1。即预设计数器的值为2,则在(30
°
,60
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
135.当第九次以及第十次检测到边界时,也均判定割草机器人处于狭窄区域中,满足预设计数器的值大于或等于3的条件,将在(15
°
,45
°
)范围内随机选取一个角度作为旋转角
度控制割草机器人旋转。
136.当第十一次检测到边界时,由于c
10
到由c9和c
11
两点连线组成的边的垂直距离大于1m,判定割草机器人脱离狭窄区域,因而将预设计数器的值设置为预设初始值(0)。基于预设计数器的值,将在(60
°
,90
°
)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
137.上述示例中,割草机器人在割草过程中,记录每次检测到边界时对应的边界点位置。当所记录的边界点的个数大于或等于设定值时,选取与当前边界点cn连续的前两个边界点c
n-2
和c
n-1
,分别计算出边界点c
n-1
与边界点cn和边界点c
n-2
之间连线所形成的边的长度d1和d2。如果d1和d2中有任意一个大于第一预设阈值,则判定割草机器人脱离/未处于狭窄区域;如果d1和d2均小于或等于第一预设阈值,则计算边界点c
n-1
到由边界点cn和边界点c
n-2
之间连线所形成的边的垂直距离h。如果h小于第二预设阈值,则判定割草机器人处于狭窄区域;如果h大于或等于第二预设阈值,则判定割草机器人脱离/未处于狭窄区域。
138.每次判定割草机器人处于狭窄区域时,将预设计数器的值加1;一旦判定割草机器人脱离/未处于狭窄区域,将预设计数器的值清零。然后,基于预设计数器的值,选取预先设定的角度范围,在该角度范围中随机选取一个角度作为移动机器人的旋转角度。
139.需要说明的是,第一预设阈值、第二预设阈值以及预设范围等预先设定的值与割草机器人的工作环境有关,因而在实际应用中,可以根据具体实施环境对本发明实施例中所提供的各种预设值进行设定,在此不做具体限定。
140.由上述实施例提供的技术方案可见,本发明在每次检测到边界时,均将该边界对应的边界点记录下来,并利用当前检测到的边界点和历史记录的边界点,对当前移动机器人是否处于狭窄区域进行判定,然后根据判定的结果对预设值进行调整;由于预设值指示了移动机器人连续处于狭窄区域的情况,从而根据预设值可以更合理的确定出移动机器人的旋转角度,使得移动机器人基于该旋转角度能够快速的脱离出狭窄区域,减少时间和资源的浪费,提高工作效率。
141.本发明实施例还提供了一种移动机器人控制装置,如图9所示,所述装置可以包括:
142.边界点获取模块910,用于当移动机器人检测到边界时,获取当前边界点;
143.狭窄区域判定模块920,用于基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
144.预设值调整模块930,用于基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
145.角度确定模块940,用于根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
146.控制模块950,用于控制所述移动机器人按照所述旋转角度进行旋转。
147.在一个可行的实施方式中,所述装置还可以包括:
148.边界点数确定模块,用于判断所述边界点序列中的边界点个数是否大于或等于预设边界点数。
149.在一个可行的实施方式中,所述狭窄区域判定模块920可以包括:
150.第一边界点选取单元,用于从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点;
151.第一判定单元,用于基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
152.在一个可行的实施方式中,所述第一边界点选取单元可以包括:
153.第二边界点选取单元,用于从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点。
154.相应的,第一判定单元可以包括:
155.结构确定单元,用于以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构;
156.第二判定单元,用于基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
157.在另一个可行的实施方式中,所述第二判定单元可以包括:
158.边长计算单元,用于在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离;
159.第三判定单元,用于基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
160.在另一个可行的实施方式中,所述第三判定单元可以包括:
161.边长判断单元,用于判断所述第一距离和所述第二距离是否均小于或等于第一预设阈值;
162.第一结果处理单元,用于在所述第一距离大于所述第一预设阈值,或者,所述第二距离大于所述第一预设阈值的情况下,判定所述移动机器人未处于所述狭窄区域。
163.参考边确定单元,用于在所述第一距离和所述第二距离均小于或等于所述第一预设阈值的情况下,将所述当前边界点和所述第一边界点之间连线所形成的边,确定为参考边;
164.垂直距离判断单元,用于判断所述垂直距离是否小于第二预设阈值;
165.第二结果处理单元,用于在所述垂直距离小于所述第二预设阈值的情况下,判定所述移动机器人处于所述狭窄区域;
166.第三结果处理单元,用于在所述垂直距离大于或等于所述第二预设阈值的情况下,判定所述移动机器人未处于所述狭窄区域。
167.本技术实施例中,预设值可以包括预设计数器的值和预设计时器的值。
168.在另一个可行的实施方式中,在预设值为预设计数器的值的情况下,所述预设值调整模块930可以包括:
169.增加单元,用于在所述判定的结果表征所述移动机器人处于所述狭窄区域的情况下,将所述预设计数器的值加第一预设数值;
170.恢复单元,用于在所述判定的结果表征所述移动机器人未处于所述狭窄区域的情况下,将所述预设计数器的值设置为预设初始值。
171.在另一个可行的实施方式中,在预设值为预设计时器的值的情况下,所述预设值
调整模块930可以包括:
172.重置单元,用于在所述判定的结果表征所述移动机器人未处于所述狭窄区域的情况下,将所述预设计时器的值进行重置。
173.在另一个可行的实施方式中,所述角度确定模块940可以包括:
174.角度范围确定单元,用于将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;
175.角度选取单元,用于在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
176.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
177.本发明实施例还提供了一种控制设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现上述方法实施例所提供的移动机器人控制方法。
178.进一步地,图10示出了本发明实施例提供的控制设备的硬件结构示意图,该控制设备可以参与构成或包含本发明实施例所提供的移动机器人控制装置。如图10所示,控制设备10可以包括一个或多个(图中采用1002a、1002b,
……
,1002n来示出)处理器1002(处理器1002可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包括:输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述控制设备的结构造成限定。例如,控制设备10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
179.应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到控制设备10(或移动设备)中的其他元件中的任意一个内。如本发明实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
180.存储器1004可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的移动机器人控制方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至控制设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
181.传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括控制设备10的通信供应商提供的无线网络。在一个示例中,传输装置1006包括一个网络适
配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实施例中,传输装置1006可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
182.本发明实施例还提供了一种存储介质,该存储介质可设置于控制设备之中以保存用于实现方法实施例中一种移动机器人控制方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的移动机器人控制方法。
183.可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
184.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
185.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
186.上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。
再多了解一些

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

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

相关文献