本发明涉及用于确定边界的方法、用于执行所述方法的计算单元和计算机程序以及移动设备,所述边界至少部分地界定移动设备、尤其是至少部分自动移动的交通工具或机器人、尤其是割草机器人的工作区域。
背景技术:
1、移动设备或工作设备、诸如至少部分自动移动的交通工具或机器人,通常在环境、尤其是待处理的环境或工作区域、例如公寓、花园、工厂大厅中或在街道上、在空中或在水中移动。
技术实现思路
1、根据本发明,提出具有独立专利权利要求的特征的用于确定移动设备的工作区域的边界的方法、用于执行该方法的计算单元和计算机程序以及移动设备。有利的构型是从属权利要求以及以下描述的主题。
2、本发明一般性地涉及在环境中或在那里例如在工作区域中移动或至少可以移动的移动设备。所述移动设备也可以称为移动工作设备。这种移动设备(或移动工作设备)的示例是例如机器人和/或无人机和/或部分自动化或(完全)自动化地(在陆地、水中或空中)移动的交通工具。机器人包括例如家用机器人、如清洁机器人(例如以真空和/或擦拭机器人的形式)、地板或街道清洁设备、建筑机器人或割草机器人,但同样包括其他所谓的服务机器人,作为至少部分自动移动的交通工具,例如客运交通工具或货运交通工具(也称为所谓的陆上运输交通工具,例如在仓库中),而且还包括飞机、如所谓的无人机或船舶。
3、这种移动设备尤其是具有控制或调节单元以及用于移动移动设备的驱动单元,使得移动设备可以在环境中移动,尤其是沿着移动路径移动。为此,可以基于移动路径来确定导航信息,即例如关于移动设备应该行进到哪个方向以便遵循移动路径的特定指令。然后可以通过控制或调节单元以及驱动单元来实现这些导航信息。
4、例如环境地图可以用于导航,所述环境地图可以尤其是借助于slam来获取或确定的。机器人技术中的一个方法被称为slam(“simultaneous localization and mapping”,大致意为:同时定位和测绘地图),其中移动设备(如机器人)可以或者必须同时创建其环境的地图并估计其在该地图内的空间方位。该方法因此用于识别障碍物,并且从而支持自主导航。
5、此外,移动设备或工作设备可以具有一个或多个传感器,借助所述传感器可以采集环境或环境中的信息。这可以是例如摄像机、激光雷达传感器或者甚至是惯性传感器,借助它们可以例如在二维或三维上采集移动设备的环境和/或运动。
6、此外,这样的移动设备可以被设置为借助于通信连接来接收数据和/或发送数据,即通常通信或交换数据。以这种方式,与移动设备的通信可以向移动设备例如发出指令、向移动设备传送其他数据或者从移动设备接收数据或信息。在此,尤其是考虑无线通信连接。为此,移动设备可以例如具有用于无线通信的对应的(可能不同的)模块,但所述模块例如也可以被集成到计算单元中。
7、在这样的移动设备的情况下,存在移动设备可以执行的功能也是常见的,即移动设备被设置为执行一个或多个、优选地不同的功能。除了功能之外,还可以谈论应用。这样的功能可以是例如工作功能或学习功能。
8、工作功能包括例如移动设备在环境中的自动移动以及在环境中至少暂时地在环境中移动期间执行工作过程。在割草机器人的情况下,工作功能因此可以包括例如割草(在移动期间)。为此,例如可以通过经由无线通信连接发送相应的数据来向移动设备例如发出启动命令来执行工作功能。
9、学习功能包括例如移动设备在环境中的手动控制的移动,尤其是在环境中不执行工作过程。在割草机器人的情况下,学习功能可以因此例如包括沿着工作区域的边界(手动)移动或控制,以便将边界教导给割草机器人。为此,例如可以通过经由无线通信连接发送相应的数据来向移动设备例如(连续)发出控制命令用于在环境中导航或移动。在这里也称为学习或所谓的“teach-in(示教)”。
10、这种学习的一个方面是应该找到或预先给定边界(或界限),所述边界围绕工作区域、即例如花园。在工作功能的情况下,该边界于是可用于限制移动设备的自动移动。
11、对于移动设备提出了确定至少部分地界定移动设备的工作区域的边界的可能性。
12、为此,在第一步骤中,提供移动设备在其中移动或应该在其中移动的环境的环境信息。该环境信息可以是例如位置、取向等,其可以例如用于slam。但是,尤其是,环境信息还可以包括图像或环境图像,所述图像或环境图像例如由移动设备的摄像机采集或是由移动设备的摄像机采集的。在此,所述环境信息是(在第一步骤中)在移动设备的外部受控移动时被获取的,而且尤其是在移动设备的手动移动时获取的,如在前面关于学习功能所提到的。在此,因此例如可以通过智能电话和蓝牙连接来控制移动设备。用户在此因此可以例如至少近似地或尽可能沿着期望工作区域的边缘控制割草机器人并在此跟随割草机器人。移动设备针对第一步骤的移动也可以被称为第一移动。
13、基于来自第一步骤的环境信息,然后确定移动设备的在环境内的工作区域的边界。在此,这可以是一种临时的或粗略的边界,但原则上它可以用于工作功能。由于该边界基于移动设备的手动控制,因此该边界可能不是很准确。
14、来自第一步骤的环境信息可以在此尤其是借助于slam、尤其是视觉slam来获取。为此,例如可以对采集的图像进行相应地处理。优选地,在使用环路闭合(loop-c1osure)的情况下基于来自第一步骤的环境信息来确定和/或细化边界。
15、所谓的环路闭合是与slam相关的一个方面。在此情况下所基于的是:移动设备在其在环境中或在工作区域中移动期间到达其先前已经所在的环境中的特定位置。根据从移动设备的相应位置看到的诸如图像或例如距离信息的环境信息,并且通过将这样的环境信息与早先的环境信息进行比较,可以确定:移动设备是否先前已经在一位置或移动设备先前已经在一位置。如果确定了这一点,则在slam范围内创建的地图或移动设备的在其中标记为行进过的路径也同样必须说明移动设备在此位于同一位置处。然而,由于可能的偏差,情况往往并非如此。更确切地,在所创建的地图中当前位置可能会不同于早先的位置。这里,现在可以调整地图以及因此边界,以便两个彼此分开的位置再次一致。在此情况下被称为所谓的环路闭合。
16、在这方面,也特别适宜的是,移动设备的外部受控移动包括从起点到终点的移动,其中起点和终点至少在预定容差内是相同的。例如,起点和终点可以在对接站处。因此可以进行环路闭合并且可以在第一步骤中特别好地确定边界。
17、在第二步骤中,然后至少在边界区域中提供环境的环境信息,尤其是图像。在此,这些环境信息是在移动设备再次沿着边界和/或在边界内移动时获取的。所述再次移动尤其是自动移动,也即例如在所提到的工作功能的范围内,即可以在此执行处理。例如,这可以包括对(必要时整个)工作区域的第一次修剪。移动设备针对第二步骤的该(再次)移动也可以被称为进一步的移动。
18、基于来自第二步骤的环境信息,然后确认和/或调整(在第一步骤中获取的)边界。如果确认了边界,在第一步骤中获取的边界就可以进一步被使用,可以说是验证。在调整边界时,例如可以基于在第二步骤中获取的环境信息来调整在第一步骤中获取的边界。因此,例如根据来自第二步骤的环境信息(优选地,图像),可以获取如下信息,即在来自第一步骤的边界外的某特定位置处仍然有一块草坪,从而可以相对应地调整那里的边界。不言而喻,可以对部分边界进行确认,并且对其他部分边界进行调整。
19、如所提及的,来自第二步骤的环境信息可以包括环境的图像。在一个实施方式中,确认和/或调整边界然后包括根据来自第二步骤的图像确定包括边界的至少一部分的环境的地图。例如,这可以在使用正射投影的情况下来进行。
20、这样,在第一步骤中就不必或者最多只须采集很少的图像并存储,以便利用其以后创建地图。更确切地,边界的确定仅通过(视觉)slam进行。这节省了计算资源。来自第二步骤的环境信息、尤其是图像,然后可以用于验证或调整。由于第二步骤可以在工作过程的范围中进行,因此与例如可能会采取用于验证的附加步骤(在工作功能之前)相比,可以总体上更快地使用具有实际工作功能的移动设备。
21、但是,作为这两个步骤的替代,还可以提供移动设备在其中移动或应当移动的环境的环境信息和图像,所述环境信息和图像在移动设备的外部受控移动时被获取或者是在移动设备的外部受控移动时获取的。基于环境信息和图像,然后确定移动设备的在环境内的工作区域的边界。在这种情况下,因此此外还采集图像,并在必要时存储和处理所述图像。这允许在移动设备的仅仅一次移动中确定特别精确的边界,尽管这里可能需要更多的计算资源。与上述两个步骤的做法相比,这里只需要第一步,但图像也在那里采集。
22、在一个实施方式中,在这种情况下,此外也可以至少在边界区域中提供环境的环境信息、尤其是图像,所述环境信息在移动设备沿着边界和/或在边界内进一步(尤其是自动)移动时获取或者是在移动设备沿着边界和/或在边界内进一步(尤其是自动)移动时的。在进一步移动时,移动设备尤其是执行处理过程。这可以本身对应于先前描述的变型的第二步骤。利用所述环境信息或图像,于是不必确认和/或调整边界(尽管可能是这种情况)。更确切地,以此可以确定周围区域的地图,所述地图包括边界的至少一部分;如上已经提及的,这可以例如在使用正射投影的情况下来进行。
23、如已经示出的,还可以通过移动设备的有针对性的移动来获取特别精确的边界,而且这取决于例如是使用两个步骤还是仅一个步骤来确定边界。
24、在此情况下提供了移动设备在其中移动或应当移动的环境的环境信息和/或图像。在此,环境信息和/或图像是在移动设备移动时获取的:这种移动可以是外部的、手动的或自动的。
25、然而,移动设备的移动在此包括至少一个移动部分,在该移动部分中移动设备至少部分地在工作区域之外的与工作区域(或期望工作区域)的基面(untergrund)不同的基面上移动。在此,这例如可以是路线或路面,而(期望的)工作区域具有例如草坪作为基面。换句话说,移动设备因此被有针对性地在(实际或期望的)工作区域之外移动,而这通常仅发生在(实际或期望的)工作区域内。
26、然后,基于环境信息和/或图像来确定移动设备的在环境内的工作区域的边界。通过移动设备在(实际或期望的)工作区域之外的这种有针对性的移动,可以更精确地采集(期望的)工作区域的边缘,使得边界(例如,初步或最终边界)也可以明显更精确地确定。在此应该提及的是,边界不必直接基于移动设备的移动,例如外部受控的移动,而是必要时可以相应地进行调整,以将边界限制到(期望的)工作区域。
27、适宜的是,与工作区域的基面不同的基面毗邻工作区域的基面和/或在预定容差内具有相同高度。高度在此情况下尤其与重力方向相关。通过这种方式,移动设备可以毫无问题地从一个基面移动到另一基面,甚至可以同时在两个基面上移动。
28、应该提出的是,通常只能通过这种方式确定边界的一部分,因为例如(期望的)工作区域之外的基面的部分例如可能无法行经;例如,栅栏、墙壁或水可以在某些地方限制(期望的)工作区域。
29、如所提到的,可以在使用正射投影、也即视觉地图的情况下来确定环境地图。视觉地图在此应特别理解为以图像方式显示周围环境的地图,而不是具有节点和边缘等的slam地图。在此情况下也可以称为结构图,其显示环境的结构,例如有草坪的区域和没有草坪的区域。
30、为此,提供环境的图像,其中获取或已经获取了移动设备在环境中的移动的图像。该移动可以是外部的、手动的或自动的。然后确定环境的图像的正射投影视图。又基于环境的图像的正射投影视图,然后提供环境的视觉地图;然后可以按照上面解释的那样使用所述视觉地图。
31、在一个实施方式中,在使用计算机视觉算法、如尤其是分割、例如语义分割的情况下来确定环境的视觉地图。通过应用计算机视觉算法,可以对图像进行预处理。尤其是,在此可以确定图像中的连续区域,这尤其是在分割的情况下是这种情况。在此,环境的图像可以在确定正射投影视图之前被分割,或者一般借助于计算机视觉算法进行处理,以获取环境的分割图像或者一般地预处理的图像。然后基于环境的分割图像或预处理图像来确定环境的图像的正射投影视图。
32、然而,环境的图像的正射投影视图同样可以在分割或应用计算机视觉算法之前被确定。然后对环境的图像的正射投影视图进行分割或预处理。
33、在一个实施方式中,借助于机器学习算法(例如人工神经网络)来执行分割。然而,同样可以实现计算机视觉算法的经典应用。
34、如果移动设备是割草机器人并且环境的图像包括草(或草坪)的图像,则可以在分割或应用计算机视觉算法时确定草的边界。
35、以这种方式,因此可以特别精确地确定(期望的)工作区域(例如草坪)的边界,使得视觉地图可以特别精确地表示工作区域。但是,以此尤其是可以特别精确地确定边界,即例如关于在草与其他基面之间的界限。如前面所提及的,这允许特别精确地确定或调整边界。
36、图像(或预处理或分割的图像)的正射投影在此尤其应理解为将图像投影到基面上,即自上而下。在此情况下应考虑的是,移动设备、诸如割草机的摄像机通常至少近似水平地对齐。因此在用这种摄像机采集或记录的图像中,背景仅显示在底部边缘处并且失真显示。考虑到摄像机参数一一诸如移动设备处摄像机的具体布置和视野等,可以对图像中呈现基面的部分进行矫正,并在俯视图的意义上进行表示。在这种表示、正射投影中,可以明显更好地识别工作区域的具体且精确的边界。
37、在分割、尤其是所谓的语义分割时,可以给图像中的每个图像点(像素)分配多个类别中的一个类别,即图像点被标记或分类。为此,通常首先确定或提取图像点的特征,然后基于所述特征分配类别。这样的特征可以是例如形状、颜色、上下文(kontext)、图案、光变化和/或图像上下文。因此,可以例如给一个像素分配绿色,并且周围的图像点同样可能会全部是绿色的。这可能表明草坪。
38、在此,作为分类考虑不同的特征。以割草机器人为例,例如在简单的情况下可以使用两个类别,即“草坪”和“非草坪”,即针对图像的每个图像点确定其是否显示草坪。不言而喻,也可以使用两个以上的类别,以便例如也识别道路、街道、建筑物、交通工具或人,并且必要时将它们分配给图像点。还可以想象一一基于类别“非草坪”一一类别“背景”,未分配给另一类别的所有内容都被分配给该类别“背景”。与纯对象识别(在此情况下仅识别图像中的对象)相比,通过所有这些标记添加了更多信息。
39、原则上,不必对每个单个的图像点进行分类,而是也可以针对图像的分段或部分进行分类,所述分段或部分分别包括多个图像点。这样的分段可以是预先给定的或者也可以在语义分割的范围中才形成,必要时也具有图像内的不同尺寸。为此,优选使用一个或多个人工神经网络或一般地基于人工智能的图案识别方法。
40、分割图像因此允许更容易和更快速地确定不同基面之间的界限在哪里。
41、此外在一个实施方式中,确定改变的、尤其是扩展的边界,而且基于来自第一步骤的边界和/或来自第二步骤的环境信息、尤其是图像来确定。改变的边界的确定在此尤其是自动进行。然后,尤其是为用户,尤其是作为地图,提供改变的边界。因此,例如可以提供对于修改的边界的建议。为此,可以将改变的边界例如显示在智能电话或其他输入设备上。
42、在一个实施方式中规定,基于来自第一步骤的边界和/或来自第二步骤的环境信息、尤其是图像来确定改变的、尤其是扩展的边界。改变的边界的确定在此尤其是自动进行。在此将改变的边界确定为经调整的边界。这里,因此可以自动进行对边界的改进,而且尤其是无需通过用户进行改变。
43、对改变的边界的确定尤其是也可以与现有边界是如何准确地获取的无关。为此,可以提供移动设备在其中移动或应当移动的环境内的工作区域的现有边界。所述现有边界在此至少是基于环境的环境信息确定的,所述环境信息是在移动设备的第一次移动时获取的。
44、然后至少在现有边界的区域中提供环境的环境信息、尤其是图像。所述环境信息是然后在移动设备沿着现有边界和/或在现有边界内再次移动、尤其是自动移动时获取的。然后,自动确定改变的边界,而且基于现有边界和环境信息、尤其是图像确定,所述环境信息是在移动设备再次移动时获取的。尤其是为用户,尤其是作为地图(例如,提到的视觉地图),提供改变的边界。例如,这可以在智能电话或其他输入或显示设备上进行。因此用户可以获取对于改进的边界的建议。
45、改变的边界尤其可以是扩展的边界或改进的边界。因此可以特别容易和快速地(因为自动化)获取更好的边界,所述更好的边界允许对期望工作区域的更精确的覆盖。
46、还可以确定,改变的边界与现有边界之间的偏差是否满足预定标准;例如,可以确定两个边界的平均距离或累积距离并将其与阈值进行比较。仅当偏差满足预定标准时才提供改变的边界。也即,例如,只有当看起来有意义时才向用户提出建议。
47、此外可以规定,从外部获取校正信息。为此,用户可以基于所述建议例如做出并提交对建议的改变。然后基于边界(根据存在哪个,也可以是现有边界和建议的改变的边界)并基于校正信息来确定经调整的边界。
48、在一个实施方式中规定,来自第一步骤的环境信息包括关于环境中的参考点的信息,尤其是图像。然后,尤其是在确定边界时和/或在确定视觉地图时,可以使用关于参考点的信息。这样的参考点可以是例如检查点,尤其也是仅几个检查点,它们不是沿着整个路线,而是例如以特定间隔和/或在特定操作时(90°弯道等)。这使得能够更精确地验证或调整边界或甚至地图,而在第一步骤中只需要存储少量图像。
49、除了上述用于确定至少部分地界定工作区域的边界(这特别适用于外部边界)的可能性之外,还可以基于现有边界(其于是例如如前所述那样被确定的)确定附加边界,尤其是内部边界,即例如被现有边界包围的边界。这样的附加边界可以例如将草坪中存在的树或其他障碍物排除在待处理的工作区域之外。
50、为此,提供移动设备在其中移动或应当移动的环境的环境信息(例如,位置、取向)和/或图像。这些环境信息或图像是在移动设备移动时获取的。这里,移动设备的移动包括从起点开始的移动,其中该起点对应于环境中的如下点,在该点处移动设备在现有边界处或沿着现有边界(这可以是如前所述的边界,无论其是否是调整的或改变的)停止或停止了。移动设备的移动在此情况下尤其是自动进行。移动设备的停止在此情况下主动地和/或手动地(即有意识地)进行。
51、然后,基于环境信息和/或图像,必要时还基于现有边界,确定移动设备的在环境内的工作区域的附加边界。换句话说,移动设备在其沿着已经存在的边界或至少(短暂地)在这样的现有边界处(自动)移动期间停止,并且从那里开始例如被控制围绕障碍物。在此,移动设备至少部分地被外部(例如手动)控制,例如如上针对第一步骤所述的。通过这种方式,可以知道该附加边界相对于现有边界的位置。
52、优选地,移动设备的移动还包括直至终点的移动,其中起点和终点至少在预定容差内是相同的。因此可以优化附加边界,例如借助于环路闭合来优化。
53、从起点直到中间点的移动优选地包括移动设备的外部受控(例如手动)移动,而从中间点直到终点的移动则例如包括移动设备的自动移动。尤其是,中间点至少在预定容差内对应于移动设备在从起点到中间点的移动期间已经经过的点。通过这种方式确保了移动设备完全避开了障碍物。
54、另外,对于附加边界于是适用已经对于其他边界实施的,即这可以例如借助于slam来确定。
55、然后可以基于边界(必要时还有附加的和/或改变的或经调整的边界)和/或环境的(可能是视觉的)地图来确定用于移动设备的导航信息。基于导航信息,又可以确定用于移动移动设备的控制信息。然后可以提供控制信息和/或可以基于控制信息移动移动设备。
56、根据本发明的计算单元(即,通常是用于数据处理的系统)、例如移动设备的控制设备或控制单元或者中央服务器或其他计算系统,尤其是在程序技术方面被设立为执行根据本发明的方法。
57、本发明还涉及一种移动设备,其被设立为获取如上所提到的那样确定的控制信息。另外或替代地,移动设备具有根据本发明的计算单元。此外,移动设备具有控制或调节单元以及用于移动移动设备的驱动单元。另外,移动设备可以具有检测装置用于检测移动设备在其中移动或应该移动的环境的环境信息,例如所提到的摄像机或者甚至多个摄像机。
58、移动设备优选地被构造为至少部分自动移动的交通工具、尤其是客运交通工具或货运交通工具,和/或机器人、尤其是家用机器人、例如清洁机器人、地板或街道清洁机器人或割草机器人,和/或无人机。
59、以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实施根据本发明的方法也是有利的,因为这导致特别低的成本,尤其是如果执行控制设备仍用于其他任务并且因此无论如何都存在的话。最后,提供一种机器可读存储介质,具有其上存储的如上所述的计算机程序。用于提供计算机程序的合适的存储介质或数据载体尤其是磁、光和电存储器,例如硬盘、闪存、eepr0m、dvd等。还可以通过计算机网络(互联网、内联网等)下载程序。这样的下载在此可以通过有线的或有线缆的或无线的(例如,通过wlan网络、3g、4g、5g或6g连接等)方式进行。
60、本发明的进一步优点和构造方案由说明书和附图得出。
61、本发明根据实施例在附图中示意性地示出,并且下面参考附图进行描述。