1.本公开涉及一种机器人作业工具系统(robotic work tool system)以及一种用于限定机器人作业工具随后意图在其中操作的作业区域(working area)的方法。
背景技术:2.机器人作业工具是用于执行某些任务的自主机器人设备,例如切割草坪草,拆除区域或清洁地板。机器人作业工具通常通过限定区域来控制,该区域在下文中称为作业区域,机器人作业工具意图在该区域中操作。作业区域由包围作业区域的周边限定。该周边包括机器人作业工具不意图穿过的边界或界限。机器人作业工具通常被配置为在作业区域内以随机模式作业。
3.机器人作业工具通常不知道其意图在其中操作的作业区域的设计或尺寸。机器人作业工具通常被配置为在作业区域内移动,直到机器人作业工具遇到作业区域的边界、周边或障碍物。然后,机器人作业工具被配置为转弯并继续在另一方向上移动,直到遇到新的边界、周边或障碍物。即使这通常提供了以足够有效的方式在作业区域内操作的机器人作业工具,但是发明人已经认识到,如果可以利用区域的设计和尺寸的了解,则机器人作业工具可以以甚至更有效的方式在作业区域内操作。
技术实现要素:4.随着在机器人作业工具系统内引入通信装置,机器人作业工具系统可以执行的事情的可能性已经扩大。通过利用不同的装置来执行机器人作业工具系统内的不同任务,装置可以专门用于不同的事情。例如,不是所有包括在机器人作业工具系统中的装置都需要具有繁重的处理能力。第一装置可以设计用于收集数据并将所收集的数据传送到第二装置。第二装置可以处理所接收的数据,并且此后将处理结果传送回到第一装置。第一装置此后可以使用所接收的结果用于其继续操作。因此,不同的装置可以组合到一个系统中,其中每个装置可以专门用于不同的事情,使得创建具有更大能力的改进的系统。
5.在有创造性且有洞察性地推理之后,各种实施方式的发明人已经认识到,可以在机器人作业工具系统内使用通信地联接的装置,以便实现对作业区域的设计和尺寸的了解。通过实现这种了解,可以更精确地限定作业区域,并且机器人作业工具可以以更有效的方式在作业区域内操作。由于机器人作业工具系统具有对作业区域的更多了解,所以机器人作业工具系统可以在改进的地图中更准确地反映作业区域。利用改进的地图,可以关于在作业区域内执行的后续动作采取更好的决策。
6.鉴于上述内容,因此,本公开内容中描述的各方面和实施方式的整体目的是提供一种以改进的方式反映作业区域的机器人作业工具系统,机器人作业工具随后意图在该作业区域中操作。
7.此整体目的已经通过所附独立权利要求来解决。在所附从属权利要求中限定了有利的实施方式。
8.根据第一方面,提供了一种用于限定作业区域的机器人作业工具系统,至少一个机器人作业工具意图在该作业区域中操作。
9.在一个示例性实施方式中,机器人作业工具系统至少包括控制器。该至少一个控制器被配置为接收用于姿态估计的传感器数据和与在作业区域内移动的至少一个机器人作业工具的多个事件相关的事件数据。所接收的传感器数据和事件数据在时间上彼此相关联。该至少一个控制器还被配置为基于与相应事件数据相关联的所接收的传感器数据来确定该多个事件的位置。此后,该至少一个控制器被配置为通过将与相应事件相关联的位置彼此相关来确定反映作业区域的特征,并且基于所确定的特征,通过对于每个所确定特征将相应的所确定位置彼此进行比较来调节所确定位置。该至少一个控制器被配置为基于所确定特征的经调节的位置来确定限定作业区域的地图。
10.在一个实施方式中,从在作业区域内移动的该至少一个机器人作业工具接收传感器数据和事件数据。
11.在一个实施方式中,该至少一个控制器还被配置为基于所确定的地图来控制该至少一个机器人作业工具在作业区域内操作时的操作。该至少一个控制器可以被配置为通过基于所确定的与作业区域相关的地图确定作业区域内的行进路径来控制该至少一个机器人作业工具的操作,该至少一个机器人作业工具在作业区域内操作时意图遵循该行进路径。
12.在一个实施方式中,该至少一个控制器还被配置为将所确定的地图和/或行进路径传输到机器人作业工具和可视化单元中的至少一个。
13.在一个实施方式中,该至少一个控制器被配置为通过找到所确定位置的异常值并且从所确定特征的所确定位置去除所找到的异常值,来调节所确定特征的位置。
14.在一个实施方式中,该至少一个控制器被配置为通过偏差估计来调节所确定特征的所确定位置。
15.在一个实施方式中,用于姿态估计的所接收的传感器数据包括位置数据、imu数据和里程计数据中的至少一个。
16.在一个实施方式中,与机器人作业工具的事件相关的事件数据包括回路事件、定时器事件和状态事件。
17.在一个实施方式中,该至少一个控制器被配置为通过基于所接收的事件数据将所确定的位置分类成不同的类别来确定反映作业区域的特征;并且对于每个类别,将所确定的位置添加到特征地图中,其中,该特征地图对应于相应的特征。
18.在一个实施方式中,在确定与作业区域相关的地图之前,该至少一个控制器还被配置为通过基于相关联的事件数据将所调节的位置彼此相关来确定反映作业区域的特征;并且基于所确定的特征,通过对于每个所确定的特征将相应的所确定位置彼此进行比较来调节所确定的位置。
19.在一个实施方式中,机器人作业工具系统包括机器人作业工具。机器人作业工具可以是机器人割草机。
20.在一个实施方式中,机器人作业工具系统包括可视化单元,并且可视化单元被配置为显示与作业区域相关的所确定的地图。可视化单元可以被配置为在用户的操作和与所述可视化单元的交互期间从用户接收用户输入,其中,该至少一个控制器可以被配置为基
于所接收的用户输入来调节与作业区域相关的地图。
21.根据第二方面,提供了一种由根据第一方面的机器人作业工具系统实施的方法。
22.在一个示例性实施方式中,该方法由机器人作业工具系统执行,该机器人作业工具系统用于限定作业区域,至少一个机器人作业工具随后意图在该作业区域中操作。该方法包括接收用于姿态估计的传感器数据和与在作业区域内移动的至少一个机器人作业工具的多个事件相关的事件数据。所接收的传感器数据和事件数据在时间上彼此相关联。该方法还包括基于与相应事件数据相关联的所接收的传感器数据来确定该多个事件的位置,并且通过将与相应事件相关联的位置彼此相关来确定反映作业区域的特征。此后,该方法包括通过对于每个所确定的特征将相应的所确定位置彼此进行比较来调节所确定特征的位置,并且基于所确定特征的所调节位置来确定限定作业区域的地图。
23.在一些实施方式中,该方法还包括基于所确定的地图来控制该至少一个机器人作业工具在作业区域内操作时的操作。控制该至少一个机器人作业工具的操作的步骤还可以包括基于限定作业区域的所确定的地图来确定作业区域内的行进路径,该至少一个机器人作业工具在作业区域内操作时意图遵循该行进路径。
24.在一些实施方式中,该方法还包括将所确定的地图和/或行进路径传输到机器人作业工具和可视化单元中的至少一个。
25.在一些实施方式中,调节所确定特征的位置的步骤包括找到所确定位置的异常值;以及从所确定特征的所确定位置中去除所找到的异常值。
26.在一些实施方式中,调节所确定特征的位置的步骤包括执行偏差估计。
27.在一些实施方式中,用于姿态估计的所接收的传感器数据至少包括位置数据、imu数据和/或里程计数据。
28.在一些实施方式中,与机器人作业工具的事件相关的事件数据包括回路事件、定时器事件和状态事件。
29.在一些实施方式中,确定反映作业区域的特征的步骤还包括基于所接收的事件数据将所确定的位置分类成不同的类别;并且对于每个类别,将所确定的位置添加到特征地图中,其中,特征地图对应于相应的特征。
30.在一些实施方式中,在确定与作业区域相关的地图之前,该方法还包括通过基于相关联的事件数据将所调节的位置彼此相关来确定反映作业区域的更新的特征;并且通过对于每个所确定的特征将相应的所确定位置彼此进行比较来调节所确定特征的位置。
31.上述实施方式中的一些消除或至少减少了以上讨论的问题。通过处理与机器人作业工具的姿态和事件相关的数据,可以确定反映作业区域的特征。基于所确定的特征,可以调节事件的位置,使得更准确地确定它们。当确定限定作业区域的地图时,可以使用所调节的位置。因此,提供了一种改进限定机器人作业工具随后意图在其中操作的作业区域的地图的机器人作业工具系统和方法。
附图说明
32.参考附图,从以下对各种实施方式的描述中,这些和其他方面,特征和优点将是显而易见的,并且得到阐明,其中:
33.图1示出了作业区域中的机器人作业工具的示意性概览;
34.图2示出机器人作业工具系统的示意图;
35.图3示出了所处理的数据的实例;
36.图4示出了原始回路值和滤波回路值的实例;
37.图5示出了所确定的地图的实例实施方式;
38.图6示出了机器人作业工具的示意性概览;
39.图7示出了由机器人作业工具系统执行的实例方法的流程图;以及
40.图8示出了计算机可读介质的示意图。
具体实施方式
41.现在将在下文中参考附图更全面地描述所公开的实施方式,其中示出了机器人作业工具系统的某些实施方式。然而,此机器人作业工具系统可以以许多不同的形式实施,并且不应被解释为限于本文阐述的实施方式;相反,这些实施方式是通过实例的方式提供的,使得本公开将是彻底和完整的,并且将向本领域技术人员充分传达机器人作业工具系统的范围。相同的数字始终表示相同的元件。
42.在其一个方面中,本文所提出的公开内容涉及一种用于限定作业区域的机器人作业工具系统,至少一个机器人作业工具随后意图在该作业区域中操作。图1示出了在这种作业区域105中的机器人作业工具100的示意图。如将了解的,示意图未按比例绘制。如果作业区域105是草坪并且机器人作业工具100是机器人割草机,则作业区域105是将由机器人作业工具100割草的区域。如图1所示,作业区域105由作业区域周边150围绕,该作业区域周边设定作业区域105的边界,即限定作业区域105的边界。机器人作业工具100意图在作业区域105内操作,并且由于所限定的作业区域周边150而保持在此区域内。通过限定作业区域周边150,机器人作业工具100将不会穿过周边,而仅在封闭区域(即作业区域105)内操作。通过限定作业区域105,机器人作业工具系统将具有关于作业区域周边150和作业区域周边150内的区域的了解。
43.如图1所示,树木和花坛可以位于作业区域105内。这些物体覆盖机器人作业工具100不能或不应当操作的作业区域105的部分。即使图1中的物体图示为灌木丛和花坛,其他障碍物和物体也可以位于作业区域105内。这种物体的实例可以是路径,灌木丛,工具棚,池塘等。这些物体,或者更确切地说,由这些物体覆盖的区域,可以被称为停止区域(stay-out area,远离区域)120。停止区域120是将从机器人作业工具100应当操作的作业区域105排除的区域。停止区域120可以用于保护例如花坛和灌木,或者防止机器人作业工具100行进到诸如池塘和可能损坏机器人作业工具100的区域的受限区域中。因此,停止区域120是作业区域105内的由于不同原因而不应由机器人作业工具100进入的区域。因此,当限定作业区域105时,重要的是,为了精确地限定作业区域105,还覆盖所有障碍物或停止区域。
44.现在将参考图2描述本公开。图2示出了机器人作业工具系统200。机器人作业工具系统200包括至少一个控制器210。如可以理解的,机器人作业工具系统200可以包括多个彼此通信地联接的控制器210。通过组合多个控制器210,可以实现甚至更高的处理功率。
45.机器人作业工具系统200将主要以限定了作业区域105的机器人作业工具系统200的通用术语来描述,至少一个机器人作业工具100随后意图在该作业区域中操作,例如草坪。然而,应理解,本文描述的机器人作业工具系统200可以与可以在期望的作业区域内执
行期望活动的任何类型的自主机器一起实施。这种类型的自主机器的实例包括但不限于清洁机器人作业工具,抛光作业工具,修理作业工具,表面处理作业工具(用于室内和/或室外),和/或拆除作业工具等。
46.如图2所示,该至少一个控制器210可以通过无线通信接口通信地联接到机器人作业工具100。附加地或替代地,无线通信接口可以用于与包括无线通信接口和控制器的其他装置通信,例如服务器,个人计算机或智能电话,充电站,遥控器,其他机器人作业工具或任何远程装置。仅举几个实例,这种无线通信的实例是全球移动系统(gsm),长期演进(lte)和5g或新无线电(5g nr)。在一些实施方式中,机器人作业工具系统200可以包括机器人作业工具100。在一个有利的实施方式中,机器人作业工具100可以是机器人割草机。
47.在一个实施方式中,该至少一个控制器210被实施为软件,例如在基于云的解决方案中远程地实施为软件。在另一实施方式中,该至少一个控制器210可以被实施为硬件控制器。该至少一个控制器210可以使用任何合适的,公共可用的处理器,计算装置,虚拟计算机,云计算机或可编程逻辑电路(plc)来实施。该至少一个控制器210可以使用实现硬件功能的指令来实施,例如,通过使用通用或专用处理器中的可执行计算机程序指令来实施,该可执行计算机程序指令可以存储在计算机可读存储介质(磁盘,存储器等)上以由这种处理器来执行。控制器210可以被配置为从存储器220读取指令并且执行这些指令以限定作业区域,至少一个机器人作业工具随后意图在该作业区域中操作。存储器可以使用任何公知的用于计算机可读存储器的技术来实施,例如rom,ram,sram,dram,flash,ddr,sdram或一些其他存储器技术。
48.现在将描述根据第一方面的第一实施方式。该至少一个控制器210被配置为接收用于姿态估计的传感器数据和与在作业区域105内移动的至少一个机器人作业工具100的多个事件相关的事件数据。所接收的传感器数据和事件数据在时间上彼此相关联。可以从在作业区域105内移动的至少一个机器人作业工具100接收传感器数据和事件数据。在作业区域105是非常大的区域的情况下,接收多个机器人作业工具100的传感器数据和事件数据可能是有利的。这可以减少限定作业区域105所需的时间。
49.用于姿态估计的传感器数据可以是可用于估计该至少一个机器人作业工具100的姿态的任何数据。姿态涉及该至少一个机器人作业工具100的位置和/或取向,并且因此,传感器数据可以是可用于估计该至少一个机器人作业工具100的姿态的任何数据。外部取向和平移可以互换地用于指代机器人作业工具100的姿态。传感器数据可以包括位置数据,惯性测量单元(imu)数据和里程计数据中的至少一项。因此,通过接收用于姿态估计的传感器数据,可以确定该至少一个机器人作业工具100的位置。
50.与机器人作业工具100的事件相关的事件数据是可以与和机器人作业工具100相关的某个动作相关联的数据。事件数据源自该至少一个机器人作业工具100的至少一个传感器。事件数据可以包括例如回路事件、定时器事件、提升事件、碰撞事件、gnss事件、实时运动(rtk)事件和状态事件。可互换地称为边界事件的回路事件是指机器人作业工具100经过回路导线(即边界导线)时的事件。可互换地称为状态事件的状态事件是指机器人作业工具100的状态改变时的事件。这种事件的实例可以是从充电到非充电的改变,停止和错误。碰撞事件是指当碰撞发生时的事件,即,如果机器人作业工具100与诸如树,石头等的物体
碰撞。因此,当该至少一个机器人作业工具100进入停止区域120时,碰撞事件可能发生。提升事件是指机器人作业工具100从地面提升时的事件。定时器事件可以基于全球导航卫星系统(gnss)事件,并且可以例如在每三个gnss事件时发送,其可以是每三秒。当该至少一个机器人作业工具100正在充电时,可以不太频繁地发送定时器事件,例如仅每五分钟发送一次。rtk事件是指rtk gnss事件发生时的事件。
51.在该至少一个控制器210已经接收到传感器数据和事件数据之后,该至少一个控制器210被配置为基于与相应事件数据相关联的所接收的传感器数据来确定该多个事件的位置。该至少一个控制器210被配置为通过将与相应事件相关联的位置彼此相关来确定反映作业区域105的特征。此后,该至少一个控制器210被配置为基于所确定特征,通过对于每个所确定特征将相应的所确定位置彼此进行比较来调节所确定位置。此后,该至少一个控制器210被配置为基于所确定特征的所调节位置来确定限定作业区域105的地图。
52.因此,上述机器人作业工具系统200接收源自在地图将被确定的区域内移动的至少一个机器人作业工具100的传感器数据。由于基于从实际区域接收的数据来确定地图,所以可以确保地图的可靠性。该至少一个控制器210处理所接收的数据,并且基于处理的结果,确定具有高精度的地图。通过处理与机器人作业工具100的姿态和事件相关的数据,可以确定反映作业区域105的特征。基于所确定特征,可以调节事件的位置,使得更准确地确定位置。当确定限定作业区域105的地图时,可以使用所调节的位置。因此,所提供的机器人作业工具系统200可以以成本有效的方式提供以高准确度限定作业区域105的可靠地图。通过引入上述提出的机器人作业工具系统200,消除或至少减少了先前描述的缺点。利用所提供的机器人作业工具系统200,基于相对简单的数据,以可以实现作业区域105的更高精度的地图的方式处理所接收的数据。
53.在一个实施方式中,用于姿态估计的所接收的传感器数据可以包括位置数据、imu数据和里程计数据中的至少一项。该至少一个控制器210可以被配置为通过首先确定该至少一个机器人作业工具100的前进方向来确定该多个事件的位置。可以基于从相应的至少一个机器人作业工具100接收的所接收的位置数据、imu数据和里程计数据中的至少一项来确定机器人作业工具100的前进方向。此后,可以基于该至少一个机器人作业工具100的所接收的里程计数据和所确定的前进方向,来确定该至少一个机器人作业工具100的位置。该至少一个机器人作业工具100的所确定的位置可以与相应的事件数据相关联。以这种方式,可以将该多个事件的优化位置确定为不确定性,并且可以减少与传感器数据相关的误差。
54.根据依照先前描述的实施方式中的一个实例实施方式,运动的前进方向和与其相关的准确度可以由该至少一个控制器210接收。该数据可以源自至少一个机器人作业工具100的gnss模块。所接收的此数据不是必须与机器人作业工具100的前进方向相同,但是当机器人作业工具100向前移动时,其应当相同。此外,相同的至少一个机器人作业工具100的所接收imu数据可以报告偏航值,该偏航值可能具有漂移并且不知道绝对前进方向。该至少一个机器人作业工具100的imu可以具有运行时间校准,这将抵消大部分漂移。当所接收的数据指示imu不移动时,可以进行校准。imu的偏移可以通过将偏移建模为分段线性(pwl)函数来估计。
55.在第一步骤中,可以将所接收的数据划分成更小的数据集。当可以检测到所接收数据中的大时间间隙时,将创建新的数据集。该时间间隙可以是例如大约30秒。此后,可以
检测机器人作业工具100何时静止。由于可以假设前进方向在那些时段期间将不改变,所以可以单独处理此数据。在第二步骤中,可以将imu的陀螺仪漂移与车轮里程计前进方向进行比较。如果在这两者之间存在大的偏差,则可以假设imu未被校准并且可以计算基线漂移。此后,可以使用卡尔曼滤波器来执行预先估计。然后可以将来自卡尔曼滤波器的输出供给到最小二乘最小化器中,给出陀螺仪的最终漂移。最后,可以通过将该漂移加到陀螺仪来计算机器人作业工具100的前进方向。图3示出了前进方向优化器的输出以及输入数据的实例。
56.此后,可以通过将该至少一个机器人作业工具100的所确定的前进方向与所接收的里程计数据融合来确定该至少一个机器人作业工具100的位置。对于每个数据点,可以接收里程计x数据,y数据和前进方向。在第一步骤中,可以基于此数据来确定增量移动。可以将增量移动参考系转换到机器人作业工具100,而不是全局参考系。δx移动是在机器人作业工具100的方向上的移动,并且δy移动是机器人作业工具100的侧向移动。如前所述,通过在数据中寻找更大的时间步长,可以将所接收的数据分成更小的数据集。此后,可以通过使用先前确定的前进方向对全局参考系重新计算增量里程计数据。该增量里程计数据可以与加权的gnss值融合。其结果为最佳位置,这可以去除gnss噪声。所确定的优化位置此后可以与相应的事件数据相关联。
57.如前所述,该至少一个控制器210还被配置为通过将与相应事件相关联的位置彼此相关来确定反映作业区域105的特征。因此,与某个事件相关的所有位置或至少位置的主要部分可以彼此相关联。特征可以被描述为作业区域105的性质。所谓的特征的实例是地图特征、回路特征、充电站特征、碰撞集群特征和梯度特征。例如,地图特征可以反映作业区域105的边界和作业区域105内的障碍物的轮廓,例如停止区域120和图1中的花坛。作业区域105内的边界和障碍物可以通过使用由在作业区域105内移动的该至少一个机器人作业工具100形成的碰撞和导线通道而被转换成地图。地图特征也可以找到引导线。
58.在一个示例性实施方式中,该至少一个控制器210可以被配置为通过基于所接收的事件数据将所确定位置分类成不同的类别来确定反映作业区域105的特征。例如,所确定位置可以被分类成碰撞、回路通道和定时器点。可以过滤掉该至少一个机器人作业工具100不移动的点。具有低精度的点也可以被过滤掉。此后,该至少一个控制器210可以被配置为针对每个类别将所确定位置添加到特征地图中。因此,可以为每个类别创建特征地图。特征地图对应于相应特征,并且以适当的格式编译某一特征的信息。根据一个实施方式,特征地图可以被描述为x位置,y位置和z位置的矩阵。特征地图可以是例如位图。或者,特征地图可以是矢量地图,或矢量化信息图像。
59.该至少一个控制器210可以被配置为以不同的方式将所确定位置添加到特征地图中。根据一个实例实施方式,该至少一个控制器210可以被配置为通过在每个所确定位置处添加2维高斯函数来将所确定位置添加到特征地图中。这可以以确定的分辨率来执行。特征地图的数量可以取决于可用的事件数据,但是根据一个实例实施方式,可以创建四个特征地图。这四个特征地图可以是定时器地图、碰撞地图、回路地图和边界地图,其中,边界地图是碰撞地图和回路地图的总和。所创建的特征地图可以涉及一种类型的传感器数据,但是也可以是多个传感器数据的组合。对于一些类别的传感器数据,可以将2维特征地图或图像创建为与位置相关的2维径向基函数的总和。或者,可以将2维特征地图或图像创建为可被
求和到特征地图或图像中的任何2维函数的总和。对于一些类别的传感器数据,或传感器数据的组合,其中融合值是实数值传感器值,可以创建反映特征地图或图像中的每个位置处的值或融合值的特征地图。或者,对于一些类别的传感器数据或传感器数据的组合,其中融合值是复数值或矢量,可以创建反映位图/图像中的每个位置处的复数值或矢量的位。
60.此后,无论所确定的位置如何被添加到特征地图中,该至少一个控制器210都可以被配置为使用滤波器或算法来细化特征地图,以确定反映作业区域105的相应特征。这可以以若干不同方式和不同组合来完成,并且下文描述的实例不以任何方式进行限制。本文描述的实例仅仅示出了滤波器和组合的实例。
61.根据一个实例实施方式,可以在所确定的定时器图上运行高斯滤波器,其可以用作其他地图上的归一化滤波器。归一化滤波器可以放大该至少一个机器人作业工具100不经常出现的区域。定时器图上的sobel滤波器可以用于创建sobel地图。如本领域所公知的,sobel滤波器可以用于创建强调边缘的图像。可以替代地或附加地基于复高斯来创建碰撞地图、回路地图和边界地图。高斯的幅度可以是e^(1jθ),其中θ是该至少一个机器人作业工具100的前进方向。通过使用这种方法,可以在地图中更好地检测狭窄的通道。
62.当生成地图时,每个地图对应于作业区域105的相应特征,可以找到边界和障碍物。定时器地图对于作业区域105的鲁棒的内部和外部检测可能是有益的。通过查看该幅度,可以执行内部和外部的粗略估计。如上所述,sobel地图可能在寻找边缘方面是好的,其是鲁棒的但具有低精度。边界地图可以给出比sobel地图更好的精度,但是可能不太鲁棒。复杂的边界地图在狭窄的通道上可能比边界地图更好。碰撞和回路事件地图可以用于在作业区域105内找到障碍物。
63.根据一个实例实施方式,分水岭(watershed)滤波器可以用在边界地图和sobel地图上以找到作业区域105的内部。分水岭是一种用于分割的经典算法,即,用于分离图像中的不同物体。在可以应用分水岭滤波器之前,找到限定内部和外部区域的标记。首先,可以在sobel地图中找到最小峰值。sobel地图中的最小峰值通常可以存在于远离边界的点,在作业区域105的内部或外部。可以保留定时器地图低于其最大值的5%的峰值并将其标记为外部,并且可以保留高于最大值的20%的峰值并将其标记为内部。地图的边缘,即作业区域105的边缘,也可以被标记为外部。可以将标记物和sobel地图供给到分水岭算法中,并且可以找到边界的第一估计。然后,可以在骨架化算法中对此估计进行滤波。如本领域已知的,骨架化算法可以用于强调形状的几何和拓扑性质,例如其连通性、拓扑、长度、方向和宽度。骨架化算法可以用于作业区域105的内部区域和外部区域两者。对于较小的物体,例如回路障碍物、碰撞障碍物和边界障碍物,可以在不同的地图中找到所有最大峰值。最大峰值可以用作分水岭算法的输入,并且此后与sobel滤波器一起使用。这可以给出作业区域105的障碍物的形状和大小的良好估计。通过使用sobel滤波器,障碍物120的边缘可以设置为sobel滤波器给出最大值的地方。特征地图也可以用于在作业区域105内找到引导线。
64.根据一个实施方式,使用滤波器来细化特征地图以确定反映作业区域105的相应特征的步骤可以包括四个步骤。第一步骤包括通过定时器地图上的级别滤波器来找到内部和外部的鲁棒性。第二步骤包括在sobel地图上运行分水岭算法,并且使用来自第一步骤的结果作为输入。第三步骤包括对来自第二步骤的结果运行骨架化算法。这可以用作下一步骤(即第四步骤)的输入。第四步骤包括在复杂事件地图上运行分水岭算法。
65.回路特征地图的目标是在作业区域105上创建回路值的地图。除了在边界线的边缘处之外,回路值在作业区域105上通常可以是相当平的。在边缘处,回路值可能从最高值快速向下改变到负值。因此,第一步骤可以是识别回路导线通道并且去除靠近具有高导数的导线通道的部分。具有高导数的部分可以用来自峰值跟随器的值来代替。图4中示出了原始回路值和滤波回路值的实例。可以应用回路滤波器并且可以创建高斯地图。对于此地图,级别可以在0和pi之间线性缩放,并且用作每个高斯的复杂级别。在创建地图之后,可以执行将值从0映射回到pi到回路值的逆过程。此后,该地图包括除了在应用回路滤波器的边缘处之外的整个作业区域105上的所估计的回路值。
66.无论特征已经如何确定,该至少一个控制器210此后可以被配置为基于所确定特征,通过对于每个所确定特征将相应的所确定位置彼此进行比较来调节所确定位置。因此,可以根据所确定特征的位置来调节该至少一个机器人作业工具100的所确定位置。可以将各个特征的位置彼此进行比较,并且例如可以执行统计分析以确定可以调节哪些位置。下面将描述两个用于调节所确定位置的实施方式。
67.在一个实施方式中,该至少一个控制器210可以被配置为通过找到所确定位置的异常值并且从所确定特征的所确定位置去除所找到的异常值来调节所确定特征的位置。异常值是与其他观察结果显著不同的数据点,并且异常值可以以不同的方式找到。可以用于找到异常值的方法的实例可以是ransac(随机采样一致性)方法。如本领域所公知的,当要赋予异常值而不影响估计值时,ransac是一种迭代方法,用于从包含异常值的一组观测数据中估计数学模型的参数。因此,ransac也可以解释为异常值检测方法。用于找到异常值的方法的其他实例可以是msac(m估计器样本和一致性),mlesac(最大似然估计样本和一致性),mapsac(最大后验样本一致性)和kalmansac。
68.在另一实施方式中,该至少一个控制器210可以被配置为通过偏差估计来调节所确定特征的所确定位置。根据此实施方式,在已经确定所有特征之后,可以运行偏差估计器。估计器是一种用于基于观测数据计算给定量的估计的规则,并且估计器的偏差或偏差函数是估计器的期望值和正被估计的参数的真实值之间的差。因此,根据此实施方式,偏差估计器可以找到彼此相关的数据点,并且将其拉在一起,从而减少数据中的误差。偏差估计器的目标是移动或调节数据点,即所确定位置,并且去除gnss误差。这可以通过确定所有特征的成本地图,然后通过向所有数据添加分段线性偏差来尝试最小化成本来执行。如前所述,可以根据所确定特征的位置来调节该至少一个机器人作业工具100的所估计位置。由于机器人作业工具100的位置在时间上是连续的,所以在时间上彼此接近的点可以与车轮里程计连接。当偏差估计器校正边界地图之外的一个数据点时,靠近该点的所有其他点也将移动。
69.图5示出了当已经使用偏差估计时的实例。图5中的正方形示出了作业区域105的边界。散布在边界周围的点表示未校正点,即,在执行偏差估计之前的点。由于许多点位于边界地图之外,所以偏差估计器将尝试移动其以被包括在作业区域105中,即内部。然后,在时间上接近的所有其他点也将被调节。基于所确定特征的所调节位置,可以确定限定作业区域105的地图。十字示出了在执行偏差估计器之后的数据点。因此,图5中以十字示出的数据点示出了所调节的点。先前描述的所有特征地图都可以用作偏差估计器的输入,而不仅仅是边界地图。
70.在一些实施方式中,该至少一个控制器210可以被配置为重复确定反映作业区域105的特征和调节所确定位置的步骤,但是基于先前调节的位置。因此,该至少一个控制器210可以被配置为通过基于相关联的事件数据将所调节位置彼此相关来确定反映作业区域105的特征;然后通过对于每个所确定特征将相应的所确定位置彼此进行比较,来基于所确定特征调节所确定位置。这些步骤可以重复几次。然而,通常优选的是重复偏差估计两次,因为进一步的重复通常仅给出较小的改进。如果根据这些实施方式将以简化的方式描述本文提出的机器人作业工具系统200,则该至少一个控制器210可以被描述为配置为接收数据。基于所接收的数据,可以确定位置。可以基于例如车轮里程计数据、位置数据和imu数据来确定位置。基于事件和所接收的传感器数据,可以确定反映作业区域105的特征。可以基于先前的确定特征,例如通过偏差估计,来调节所确定位置。此后,可以重复确定特征的步骤,但是基于所调节位置。然后,可以基于新确定的特征再次调节所确定位置。最后,可以确定地图。
71.在一些实施方式中,该至少一个控制器210还可以被配置为基于所确定地图来控制至少一个机器人作业工具100在作业区域105内操作时的操作。可以理解,可以基于所确定地图来控制操作的机器人作业工具100不用必须是与所接收的传感器数据和事件数据相关的相同的机器人作业工具100。该至少一个控制器210可以被配置为接收与至少一个机器人作业工具100相关的传感器数据和事件数据,并且可以被配置为控制其他机器人作业工具100的操作。然而,可以理解,与传感器数据和事件数据相关的该至少一个机器人作业工具100可以是与由该至少一个控制器210控制的至少一个机器人作业工具100相同的机器人作业工具。
72.该至少一个控制器210可以被配置为以若干不同的方式控制该至少一个机器人作业工具100的操作。根据一个实例实施方式,该至少一个控制器210可以被配置为基于与作业区域105相关的所确定的地图来确定该至少一个机器人作业工具100在作业区域105内操作时意图遵循的作业区域105内的行进路径。根据另一实例实施方式,该至少一个控制器210可以被配置为确定意图同时操作作业区域105的多个机器人作业工具100的行进模式。这可以用于例如确保操作整个作业区域105,或者如果该多个机器人作业工具100应当操作作业区域105的不同部分。
73.在一些实施方式中,该至少一个控制器210还可以被配置为将所确定地图传输到机器人作业工具100和可视化单元中的至少一个。替代地或附加地,该至少一个控制器210还可以被配置为将行进路径传输到机器人作业工具100和可视化单元中的至少一个。
74.在一些实施方式中,机器人作业工具系统200可以包括可视化单元。可视化单元可以被配置为显示与作业区域105相关的所确定的地图。图2示出了包括可视化单元230的机器人作业工具系统200的实例。在图2中,可视化单元230示出为位于与该至少一个控制器210相同的装置中。然而,可以理解,可视化单元230可以位于与该至少一个控制器210分离的另一装置中。在一个实施方式中,可视化单元230可以被配置为在用户的操作和与所述可视化单元230的交互期间从用户接收用户输入,其中,该至少一个控制器210可以被配置为基于所接收的用户输入来调节与作业区域105相关的地图。
75.如前所述,机器人作业工具系统200可以包括机器人作业工具100。图6中例示了机器人作业工具100的实例。机器人作业工具100可以是例如机器人割草机。图6示出了具有主
体和多个车轮130的机器人作业工具100。机器人作业工具100的车轮130用于示出机器人作业工具100是可移动的。在其他实施方式中,车轮130可以实施为例如履带。机器人作业工具100可以包括控制器110,例如处理器,其被配置为控制机器人作业工具100的操作。机器人作业工具100还可以包括存储器120,或计算机可读介质,其被配置为承载指令,当将该指令加载到控制器110中时,控制机器人作业工具100的操作。
76.还如图6所示,机器人作业工具100包括至少一个传感器单元140。传感器单元140可以被配置为接收用于机器人作业工具100的姿态估计的数据。传感器单元140可以包括被配置为接收位置数据或定位信号的定位单元。定位单元可以包括卫星信号接收器,其可以是全球导航卫星系统(gnss)卫星信号接收器。这种系统的一个实例是全球定位系统(gps)。定位单元可以被配置为使用例如实时动态(rtk)定位。在有利的实施方式中,该至少一个定位单元可以使用rtk-gnss定位。rtk-gnss系统基于卫星通信。该至少一个传感器单元140可以连接到机器人作业工具系统200的该至少一个控制器210,以使得控制器210能够估计和确定机器人作业工具100的姿态。
77.在一些实施方式中,该至少一个传感器单元140还可以包括用于提供用于推导推算导航的信号的推导推算导航(deduced reckoning navigation)传感器,也称为航位推算。这种推导推算导航传感器的实例是里程计、imu和罗盘。这些可以包括例如车轮滴答计数器,加速计和陀螺仪。另外,视觉里程计可以用于进一步加强航位推算准确度。
78.机器人作业工具100还可以包括至少一个事件单元160。该至少一个事件单元160可以被配置为收集所感测的事件数据。所收集的感测输入数据可以表示机器人作业工具100的事件。该至少一个事件单元160可以被配置为在机器人作业工具100在作业区域105内移动的同时收集所感测的输入数据。所收集的感测事件数据可以由该至少一个事件160连续地或在机器人作业工具100发生某些事情时获得。所收集的事件数据可以是例如但不限于回路数据、定时器数据、负载数据、位置数据、碰撞数据等。
79.例如,该至少一个事件单元160可以包括碰撞传感器。碰撞传感器可以被配置为当导致机器人作业工具100在作业区域105内移动时检测碰撞。可以将检测到的碰撞的信息传送到该至少一个控制器120。碰撞传感器160可以被配置为检测底盘相对于机器人作业工具100的主体的移动方向。该移动指示碰撞。该移动还可以指示机器人作业工具100的提升。因此,碰撞传感器可以检测在任何方向上的移动方向。
80.本文呈现的机器人作业工具系统200提供了确定地图的方式,其以可靠且成本有效的方式准确地限定作业区域105。机器人作业工具系统200使得可能仅基于与在要限定的作业区域105内移动的至少一个机器人作业工具100相关的传感器数据和事件数据来确定限定作业区域105的地图。因此,所提供的机器人作业工具系统200可以基于相对简单的数据来确定作业区域105的精确地图。
81.根据第二方面,提供了一种在根据第一方面的机器人作业工具系统200中实施的方法。将参考图7描述该方法。
82.在一个实施方式中,方法700可以由机器人作业工具系统200执行,以限定至少一个机器人作业工具100随后意图在其中操作的作业区域105。如图7所示,方法700开始于步骤710:接收用于姿态估计的传感器数据和与在作业区域105内移动的至少一个机器人作业工具100的多个事件相关的事件数据。所接收的传感器数据和事件数据在时间上彼此相关
联。所接收的传感器数据可以包括位置数据、imu数据和里程计数据中的至少一个。与该至少一个机器人作业工具100的事件相关的事件数据可以包括回路事件、定时器事件和状态事件。
83.方法700继续步骤720:基于与相应事件数据相关联的所接收的传感器数据来确定该多个事件的位置。此后,方法700继续步骤730:通过将与对应事件相关联的位置彼此相关来确定反映作业区域105的特征。此步骤730还可以包括步骤735:基于所接收的事件数据将所确定位置分类成不同的类别,以及步骤740:针对每个类别将所确定位置添加到特征地图中。该特征地图可以对应于相应的特征。
84.在已经确定反映作业区域105的特征之后,方法700继续步骤750:通过对于每个所确定特征将相应的所确定位置彼此进行比较来调节所确定特征的位置。调节所确定特征的位置的步骤750还可以包括步骤755和步骤760。步骤755包括找到所确定位置的异常值,并且步骤760包括从所确定特征的所确定位置去除所找到的异常值。附加地或替代地,方法700还可以包括执行偏差估计的步骤765。根据一些实施方式,该方法还包括步骤770和775。步骤770包括通过基于相关联的事件数据将所调节位置彼此相关来确定反映作业区域105的更新的特征。步骤775包括通过对于每个所确定特征将相应的所确定位置彼此进行比较来调节所确定特征的位置。根据一些实施方式,这两个步骤(步骤770和775)可以重复多次。
85.当已经调节所确定特征的位置时,方法700继续步骤780:基于所确定特征的所调节位置,确定限定作业区域105的地图。
86.根据一些实施方式,方法700还可以包括步骤785:基于所确定地图控制在作业区域105内操作的至少一个机器人作业工具100的操作。控制至少一个机器人作业工具100的操作的步骤785可以例如包括步骤790:基于限定作业区域105的所确定地图来确定作业区域105内的行进路径,当在作业区域105内操作时,该至少一个机器人作业工具100意图遵循该行进路径。
87.在一些实施方式中,方法700还可以包括步骤795:将所确定地图和/或行进路径传输到机器人作业工具100和可视化单元中的至少一者。
88.利用所提出的方法700,可以确定以可靠且成本高效的方式准确地限定作业区域105的地图。方法700使得可以仅基于与在要限定的作业区域105内移动的至少一个机器人作业工具100相关的传感器数据和事件数据,来确定限定作业区域105的地图。因此,所提供的方法700可以基于相对简单的数据来确定作业区域105的准确地图。
89.图8示出了计算机可读介质的示意图,该计算机可读介质被配置为承载指令810,当将该指令加载到诸如处理器的控制器中时,执行根据以上公开的实施方式的方法或过程。在此实施方式中,计算机可读介质800是数据盘800。在一个实施方式中,数据盘800是磁性数据存储盘。数据盘800被布置成连接到读取装置或者在读取装置内并由读取装置读取,用于将指令加载到控制器中。与一个(或几个)数据盘800结合的读取装置的一个这种实例是硬盘驱动器。应注意,计算机可读介质还可以是其他介质,例如光盘,数字视频盘,闪存或其他常用的存储器技术。在这种实施方式中,数据盘800是一种类型的有形计算机可读介质800。
90.通过将指令810包括在经由无线(或有线)接口(例如经由互联网)传输到计算机数据读取装置以将指令810加载到控制器中的计算机可读信号中,还可以将指令810下载到计
算机数据读取装置,例如控制器210或能够读取计算机可读介质上的计算机编码数据的其他装置。在这种实施方式中,计算机可读信号是一种类型的非有形计算机可读介质800。
91.对计算机程序,指令,代码等的引用应被理解为涵盖用于可编程处理器的软件或固件,例如硬件装置的可编程内容,无论是用于处理器的指令还是用于固定功能装置、门阵列或可编程逻辑装置等的配置设置。受益于以上描述和相关附图中呈现的教导的本领域技术人员将想到所述实施方式的修改和其他变型。因此,应理解,实施方式不限于本公开中描述的特定实例实施方式,并且修改和其他变型意图包括在本公开的范围内。更进一步,虽然本文可以使用特定术语,但是其仅在一般和描述性意义上使用,而不是为了限制的目的。因此,本领域技术人员将认识到对所述实施方式的许多变化,其将仍然落入所附权利要求的范围内。如本文使用的,术语“包括”或“包含”不排除存在其他元件或步骤。此外,虽然各个特征可以包括在不同的权利要求中,但是这些特征可能有利地组合,并且包括不同的权利要求并不意味着特征的组合是不可行的和/或不利的。另外,单数引用并不排除复数。