分离的草坪区块的机器人割刈的制作方法

文档序号:12137533阅读:424来源:国知局
分离的草坪区块的机器人割刈的制作方法与工艺

本发明涉及通过自主机器人割刈草坪区块和其它区块,更具体地说,涉及割刈多个不毗邻区块。



背景技术:

自主机器人可以编程为割刈(mow)草坪区块。必须谨慎保持这些机器人不在所意图的区块外部进行割刈。所埋入的电引线一般定义机器人编程为不穿越的草坪边界。也已经考虑其它形式的航行。



技术实现要素:

本发明的一个方面表征一种对空间所分离的多个区块进行割刈的方法。所述方法包括:训练机器人割刈器(mower)以割刈所述区块,包括:在存储指示每个区块的边界相对于边界标记器的位置的数据的同时,在所述区块周围移动所述机器人割刈器;所述方法还包括:训练所述机器人割刈器以移动穿过分离所述区块的所述空间,包括:将所述机器人割刈器移动到所述区块中的第一个的横穿启动点;存储指示所述横穿启动点的位置的数据;将所述机器人割刈器移动到所述区块中的第二个的横穿着陆点;以及存储指示所述横穿着陆点的位置的数据。发起割刈操作,其使得所述机器人割刈器自主地并且按顺序地:割刈所述区块中的所述第一个;移动到所述横穿启动点;从所述横穿启动点穿过所述空间移动到所述横穿着陆点;以及然后割刈所述区块中的所述第二个。

在一些示例中,所述方法还包括:训练所述机器人割刈器以移动穿过将所述第二区块与待割刈的第三区块分离的第二空间。所述方法可以还包括:生成表示所述区块和所述空间中的一个或多个的区格的2D网格,以及将值分配给所述区格中的每一个。所述值指示特定区格是否为可割刈的。所述值也可以指示所述区格是否处于所述边界中的一个或多个上。所述值可以指示所述区格是否沿着所述横穿启动点与所述横穿着陆点之间的路径。

在一些示例中,在训练所述机器人割刈器以割刈所述区块中的第一个之后并且在训练所述机器人割刈器以割刈所述区块中的第二个之前执行训练所述机器人割刈器以移动穿过分离所述区块的所述空间。所述割刈器和边界标记器中的每一个可以包括从5925MHz到7250MHz的频率操作的各个宽带收发机。训练所述机器人割刈器以移动穿过所述空间可以还包括:存储指示沿着所述横穿启动点与所述横穿着陆点之间的路径的至少一个中间方位的数据;以及发起所述割刈操作可以使得所述机器人割刈器沿着所述路径移动通过所述中间方位。

在一些情况下,发起所述割刈操作可以使得所述机器人割刈器根据部分地由所述第一区块的形状确定的割刈模式来割刈所述第一区块。例如,所述割刈模式可以是谷物行模式。发起所述割刈操作可以使得所述机器人割刈器在割刈所述区块中的第二个之后自动地推断所述割刈操作,而不再次在所述区块中的第一个内进行割刈。

在一些实施例中,所述横穿启动点处于所述第一区块的所述边界上。所述横穿着陆点可以处于所述第二区块的所述边界上。

在一些实现方式中,在所述割刈操作期间,所述割刈器在直线中从所述横穿启动点穿过所述空间移动到所述横穿着陆点。在所述割刈操作期间,所述机器人割刈器可以在移动穿过所述空间的同时自动地禁用割刈功能,并且然后可以在所述第二区块中重新激活所述割刈功能。

本发明的另一方面表征一种机器人割刈器,具有:有轮底盘;机动化杂草切割器,由所述有轮底盘承载;以及控制器。所述控制器被配置为:存储指示待割刈的至少两个区块中的每一个的边界的位置的数据,其中,所述至少两个区块由不待割刈的空间分离;存储指示穿过所述不待割刈的空间的横穿路径的数据,其中,所述区块中的第一个的横穿启动点和所述区块中的第二个的横穿着陆点沿着所述横穿路径定位,以及控制所述机器人割刈器以执行割刈操作。在割刈操作中,所述机器人割刈器自主地并且按顺序地:割刈所述区块中的所述第一个;移动到所述横穿启动点;从所述横穿启动点穿过所述空间并且沿着所述横穿路径移动到所述横穿着陆点;以及割刈所述区块中的所述第二个。

在一些示例中,所述控制器进一步被配置为:将所述机器人割刈器在直线中从所述横穿启动点移动到所述横穿着陆点。所述控制器可以进一步被配置为:训练所述机器人割刈器以移动穿过将所述第二区块与待割刈的第三区块分离的第二空间。所述控制器也可以被配置为:在所述机器人割刈器沿着所述横穿路径移动的同时自动地禁用所述杂草切割器;以及一旦所述机器人割刈器处于所述第二区块中就重新激活所述杂草切割器。所述控制器可以存储指示沿着所述横穿路径的至少一个中间方位的数据,并且其中,所述割刈操作使得所述机器人割刈器沿着所述横穿路径移动通过所述中间方位。

所述控制器可以被配置为:生成表示所述区块和所述空间中的一个或多个的区格的2D网格,以及将值分配给所述区格中的每一个。例如,所述值可以指示区格是否为可割刈的。所述值可以进一步指示所述区格是否处于所述边界中的一个或多个上。所述值也可以指示所述区格是否沿着所述横穿启动点与所述横穿着陆点之间的路径。

在所述机器人割刈器的一些实现方式中,所述控制器训练所述机器人割刈器以在所述机器人割刈器受训练以割刈所述区块中的所述第一个之后并且在所述机器人割刈器受训练以割刈所述区块中的第二个之前移动穿过分离所述区块的所述空间。例如,所述机器人割刈器和边界标记器中的每一个可以包括从5925MHz到7250MHz的频率操作的各个宽带收发机。所述控制器可以存储指示沿着所述横穿路径的至少一个中间方位的数据,并且所述割刈操作可以包括:所述机器人割刈器沿着所述路径移动通过所述中间方位。

很多草坪并非是规则形状的或构成于连续的杂草区域。例如,草坪可以包括不可割刈区块(例如路径或车道)所分离的多个不同的可割刈区块。为了割刈草坪的多个不毗邻区段或区块,在此所描述的机器人草坪割刈器在各分离的草坪区块之间航行,以割刈多个区块。

在一些示例中,所述机器人包括控制器和子系统,被配置为:引导所述机器人横穿将第一草坪区块与第二草坪区块分离的不可割刈区块。在一些情况下,机器人控制其子系统,从而切割系统在割刈操作期间是可操作的,并且在横穿各草坪区块之间的不可割刈区块而且旁路草坪区块以行进到另一草坪区块期间是不可操作的。因此,单个机器人可以用于看管两个或更多个物理上分离的草坪区块。

所述系统可以进一步允许训练机器人采取以完成割刈操作、旁路操作以及横穿操作而且在各草坪区块之间移动的路线的自动化方法、手动方法或自动化方法和手动方法的可选择的组合。所述自动化方法可以包括用于增加割刈操作的效率的优化技术。用户也可以具有用于通过手动训练方法来僭越自动化方法的灵活性。

在附图和以下描述中阐述本发明一个或多个实施例的细节。本发明的其它特征、目的和优点从描述和附图以及权利要求是清楚的。

附图说明

图1A是自主草坪割刈器机器人的示意性底视图。

图1B是图1A的机器人的示意性侧视图。

图1C是图1A的机器人的控制系统的框图。

图2是具有分离不毗邻草坪区块的横穿区域的示例不毗邻草坪区块集合的示意图。

图3是图2的机器人的存储器结构的框图。

图4A-图4B是示出对机器人教导不毗邻草坪区块的边界的方法的示意图。

图5A-图5B是示出对机器人教导横穿区域的横穿路线的方法的示意图。

图6是示出对机器人教导不毗邻草坪区块的旁路路线的方法的示意图。

图7A-图7B是均具有用于机器人的不同的覆盖路线的图2的示意图。

图8是安装有应用以控制机器人的计算设备的屏幕快照。

图9是训练机器人的示例方法的流程图。

图10A-图10B是用于操作机器人的示例的流程图。

各个附图中的相同标号指示相同要素。

具体实施方式

以下所描述的机器人草坪割刈器可以随着其自主地在草坪区块周围移动而割刈不毗邻草坪区块,并且穿越分离草坪区块的横穿区域或空间。机器人包括切割系统,具有切割刀片,用于随着其经由具有使得机器人移动的轮的驱动系统沿着草坪路线移动而在草坪区块上切割杂草(“路线”在此又称为“路径”)。切割系统与驱动系统解耦合,从而在驱动系统正运行的同时,机器人可以禁用切割系统。例如,在机器人遵循穿过各草坪区块之间的横穿区域的横穿路线的同时,机器人可以禁用切割系统。

控制器耦合到存储器存储元件,其存储各个操作期间的机器人的行为以及用于割刈不毗邻草坪区块的调度。在一些调度中,机器人可以编程为割刈与机器人的当前位置分离的目标草坪区块。机器人可以编程为在切割系统禁用的情况下沿着穿过草坪区块的旁路路线移动,从而机器人可以到达目标草坪区块,而不割刈处于机器人的位置与目标草坪区块之间的草坪区块。存储器存储元件还存储例如与沿着草坪路线、横穿路线以及旁路路线的点或分段对应的数据。用户进行的手动训练或机器人上所编程的子例程进行的自动化路径规划的组合确定路线,并且存储器存储元件可以存储属于路线的数据。

图1A-图1B是自主草坪割刈器机器人10的示例的普通示意性概述,图1C示出操作自主草坪割刈器机器人10的控制系统的框图。图1A以前向方向F示出机器人10的示意性底视图,其包括主体20,主体20包含(图1C所示的)驱动系统600的轮模块610a-b以及(图1C所示的)切割系统400的切割器410。

轮模块610a-b包括轮、电机、以及变速箱,用于在前向方向和后向方向上驱动机器人10。轮模块610a-b可以有差异地受操作,从而机器人可以基于提供给每个轮的驱动的等级而转向。驱动系统600还包括脚(caster)轮620a-b,其部分地支撑机器人10的重量。

切割器410是例如可旋转的往复式刀片,其可以随着(图1C所示的)切割器驱动子系统420驱动切割器410以旋转而切割杂草。切割器410具有割刈宽度WM,其定义机器人10随着机器人10在未切割的杂草上移动而切割的杂草的宽度。切割器驱动子系统420包括高功率电机以及高扭矩变速箱,其操作切割器410,从而电机、变速箱和切割器410可以按最高功率切割杂草的厚割幅。

机器人10的底部部分可以还包括(图1C所示的)传感器系统650的传感器部分。这些传感器可以包括:切割边沿传感器510a-b,其在切割的杂草与未切割的杂草之间进行区分;杂草高度传感器,其测量机器人10之下的杂草的高度;以及悬崖传感器,其检测机器人10下面的地形的陷落。

图1B是示例性机器人10的示意性侧视图。机器人10包括具有功率源810的功率系统800、控制器1000、通信系统1100以及存储器存储元件900。控制器1000控制机器人10的系统,将稍后参照图1C更详细对此进行描述。功率系统800经由功率源810将功率提供给其它机器人系统。通信系统1100允许控制器1000与计算设备(例如移动设备或基于web的设备)进行无线通信。通信系统1100可以包括例如蓝牙收发机和/或WiFi收发机。

包括功率源810的功率系统800将功率提供给可通过机器人操作的系统。功率源810是可调整的,从而功率系统800可以提供全部功率的某百分比。功率系统800内的充电系统820可连接到外部充电坞,以对功率源810进行充电。

机器人10的(图1C所示的)传感器系统650还包括(图1C所示的)位置估计系统655。在一些示例中,位置估计系统655是基于飞行时间的系统,其使用边界标记器(由此又称为“信标”或“标记器”)与机器人之间的飞行时间以确定机器人的姿势。例如,可以沿着草坪的边界放置边界标记器。虽然飞行时间系统使用已经描述为边界标记器的标记器,但标记器也可以放置在草坪内或附近,以协助机器人草坪割刈器的定位。在一些情况下,边界标记器发出机器人草坪割刈器解释以确定其相对于边界标记器的方位的信号。在其它示例中,边界标记器是无源的,并且机器人草坪割刈器的辐射源发射辐射,其反射离开位于草坪区块中的表面并且由机器人上的辐射检测器检测。定位可以使用三角测量以确定边界内的机器人方位。边界标记器与位于房产上的机器人之间所发送的信号允许机器人通过计算到达边界标记器中的每一个的飞行时间并且使用三角测量以计算机器人的当前方位来估计角度和距离。在另一示例中,并非使用飞行时间测量,系统可以使用固定角度激光指示器以及CMOS成像器通过二者之间的已知基线来三角测量距对象的距离。在这些示例中,在成像器处的接收到的信号的像素位置指示距对象的距离。在一些特定示例中,边界标记器是5,925MHz至7,250MHz范围中的宽带收发机或超宽带收发机。然而,可以使用其它飞行时间收发机。

此外,传感器系统650包括障碍物感测系统657,其还包括部署在机器人10的横向侧上的接近度传感器680,从而机器人10可以检测其何时已经与物理屏障接触或其何时紧密接近物理屏障。接近度传感器680可以采取接触传感器的形式(例如,检测机器人上的防撞器对物理屏障的冲击的传感器)和/或LIDAR(光检测和测距,其可能需要测量散射光的性质以寻找远距目标的范围和/或其它信息的光学遥感)传感器,其检测机器人何时紧密靠近附近对象。

传感器系统650还包括(图1C所示的)手柄感测系统670,其检测可拆卸手柄675何时附连到机器人10。可拆卸手柄675在训练模式以及割刈模式下是可用的。传感器系统650的其它传感器包括:全球定位系统(GPS),作为用于确定机器人10的位置的附加部件;倾斜传感器,用于检测机器人之下的地形的水平面;雨传感器,用于检测可能损坏机器人10的机电组件的来自例如雨的水;以及可通过其它系统操作以辅助控制机器人10的传感器和编码器。附加地或替代地,传感器系统650可以包括但不限于轮掉落传感器、声纳、雷达等、红外悬崖传感器、相机(例如体积测定点云成像、三维(3D)成像或深度映射传感器、可见光相机和/或红外相机)等。

参照图1C,为了实现可靠并且鲁棒的自主移动和切割,机器人10包括控制器1000,其操作存储器存储元件900、通信系统1100、切割系统400、传感器系统650、驱动系统600、航行系统700以及功率系统800。切割系统400包括切割器驱动子系统420,其可以包括电机和变速箱,以驱动切割器。传感器系统650还包括手柄感测系统670和位置估计系统655以及前述其它传感器。控制器1000操作航行系统700,其被配置为:穿过草坪区块和/或横穿区域在存储器存储元件900中所存储的路径或路线中操纵机器人10。航行系统700是控制器1000上所执行的基于行为的系统。航行系统700与传感器系统650进行通信,以确定驱动命令并且将其发放到驱动系统600。具体地说,控制器包括响应于来自障碍物感测系统657的传感器信号而实现的障碍物检测和避开方法和行为。机器人可以使用其接近度传感器以检测在机器人10前面大致附近的障碍物的普通几何形状,从而机器人10可以确定转向哪个方向。例如,使用部署在机器人10的前部上的接近度传感器680,控制器1000可以确定机器人何时将要与障碍物碰撞,并且将指令传递到航行系统700和驱动系统600以避开障碍物。

存储器存储元件900存储属于操作(例如割刈操作或横穿操作)的数据以及可以关于例如训练操作或割刈操作而实现的机器人的子例程。数据还包括草坪路线数据、横穿路线数据、旁路路线数据、路径行为数据以及调度数据,将稍后更详细地对其全部进行描述。控制器1000与存储器存储元件900进行通信,以确定在操作期间激活或禁用哪些系统。可以按从0%(例如关闭)到100%的等级激活系统(例如切割系统400、驱动系统600、功率系统800)。存储器存储元件900包括与用于操作的激活等级关联的数据。例如,在一些操作(例如横穿操作)中,控制器1000归因于对于横穿操作的较低功率要求而按50%激活等级来激活功率系统800。控制器1000可以具有高功率模式(例如功率系统800的75%-100%激活等级),以当割刈大的并且厚的杂草的割幅时容纳切割系统400中的较大机械应力。

包括在此所公开并且示出的感测系统、切割系统、驱动系统、航行系统、功率系统、通信系统的机电系统可以包括题为“Robot Confinement”的2007年3月19日提交的美国专利申请序列号No.11/688,213中所公开的附加要素和特征,其公开通过其完整引用合并到此。

通常,很多草坪是不规则形状的,或包括不连续杂草区域。例如,草坪可以包括不可割刈区块(例如路径或车道)所分离的多个不同的可割刈区块。为了割刈草坪的多个不毗邻区段或区块,在此所描述的机器人草坪割刈器在各分离的草坪区块之间航行,以割刈多个区块。

图2描述具有三个不毗邻草坪区块102a-c的房产100的示例的示意图。草坪区块102a-c分别具有边界106a-c。横穿区域104a分离草坪区块102a和草坪区块102b,横穿区域104b分离草坪区块102b和草坪区块102c。草坪区块102a具有玫瑰花园125,其为不可割刈的特征(例如区块102a的边界内的保留或不可割刈的空间)。横穿区域104a包括将草坪区块102a与草坪区块102b分离的混凝土走道115以及混凝土走道115内的花卉分隔区116。因此,如果机器人草坪割刈器将要割刈草坪区块102a和区块102b二者,则其必须在没有花卉分隔区116的区域中穿越混凝土走道115。草坪区块102c具有带有位于边界106c的分段处的树木127的非定型形状。横穿区域104b是岩石区块117,其包括圆形火坑131。因此,为了在草坪区块102b与草坪区块102c之间航行,机器人必须在避开火坑131的同时横穿区域104b。

示出停泊在充电坞50处的机器人10根据用户预先确定的调度来割刈草坪区块102a-c。充电坞50恢复机器人10的(先前所描述的)功率源,并且还充当(稍后更详细地描述的)用于机器人存储的路线数据的启动点1001。机器人10可以经由横穿区域104a-b从一个草坪区块移动到另一草坪区块。

图3示出机器人可以执行以割刈不毗邻草坪区块集合的存储在(图1C中所描述的)存储器存储元件900中的训练数据303的示例。为了训练机器人10,如稍后将讨论的那样,可以通过自动化方法、手动方法或这两种方法的组合来生成训练数据303。训练数据303包括边界数据305、内部边界数据310、横穿路线数据315、旁路路线数据320、草坪路线数据325、路径行为数据330以及调度数据335。(图1C中所描述的)控制器1000可以处理并且执行训练数据303中的至少一些,以在草坪区块和横穿区域周围移动,并且割刈目标草坪区块。

边界数据305是界定草坪区块的点集合。短暂返回参照图2,草坪区块102a-c的边界106a-c可以分别表示为存储为边界数据305a-c的离散点集合或在笛卡尔网格中的所标记的区格集合,稍后将更详细地对此进行描述。从边界数据305,控制器可以确定草坪区块的几何特性,包括长度、宽度、面积和形状。

内部边界数据310是界定无法横穿的障碍物的点集合。内部边界数据310定义机器人草坪割刈器不应割刈的可割刈区块内的保留区带。例如,再次短暂返回参照图2,玫瑰花园125和火坑131可以表示为存储为内部边界数据310的离散点集合。

横穿路线数据315、旁路路线数据320和草坪路线数据325均包括点集合。横穿路线数据315、旁路路线数据320和草坪路线数据325中所存储的每个点包括一个或多个位置(例如从一个或多个数据点测量的X坐标、Y坐标)。如稍后将更详细地描述的那样,一个或多个数据点可以对应于相对于沿着边界放置的边界标记器的位置。边界标记器的位置充当关于边界数据305、横穿路线数据315、旁路路线数据320和草坪路线数据325中所存储的其它点的基准点。通常相对于与边界标记器相对所建立的坐标系统而测量在此的点的位置。

控制器可以使用路线数据315、320、325,以生成随着机器人10执行割刈操作、横穿操作或旁路操作其遵循的移动的一个或多个路径。可以关于例如草坪上的主方向和基准点所定义的笛卡尔坐标系统测量点和定向角度。点对应于机器人的方位,定向对应于机器人的前部正面对的方向。控制器可以控制驱动系统和航行系统,从而机器人放置到点的方位以及与该点关联的定向中。控制器使用路线数据315、320、325的点以生成用于在草坪区块和横穿区域周围移动的路线。

还参照图2,横穿路线数据315包括分别用于横穿区域104a和横穿区域104b的横穿路线数据315a和横穿路线数据315b。通常,在横穿操作期间,机器人在第一草坪区块的边界上开始,遵循穿越横穿区域的路线,并且在第二草坪区块上结束。在图2的示例中,控制器使用横穿路线数据315a中所存储的点,以生成用于机器人从草坪区块102a穿过横穿区域104a移动以到达草坪区块102b的横穿路线。控制器使用横穿路线数据315b中所存储的点,以生成用于机器人从草坪区块102b穿过横穿区域104b移动以到达草坪区块102c的横穿路线。横穿路线数据至少包括横穿启动点和横穿着陆点。横穿启动点和横穿着陆点可以是相对于边界标记器的地理位置或方位(例如坐标系统中的X方位、Y方位)。横穿路线数据可以还包括中间横穿点。

横穿启动点通常对应于第一草坪路线的结束点;中间横穿点通常对应于机器人行进的横穿区域中的点(例如路径或路线);横穿着陆点通常对应于第二草坪路线的开始点。第一草坪路线在第一草坪区块与横穿区域之间的第一接口处终止。第一接口由用于第一草坪区块的边界数据的点子集定义。

横穿路线内的中间横穿点对应于机器人在横穿区块的同时遵循的点。中间横穿点可以进一步对应于机器人的系统(例如驱动系统、功率系统、航行系统等)的行为的其它改变。例如,控制器可以在中间横穿点处增加功率等级,以补偿中间横穿点处的地形的改变。地形可能对于机器人在穿越中间横穿点之后更难以横穿,并且增加功率系统的功率等级将因此是有益的。中间横穿路线可以包括一个或多个附加中间点,其与中间横穿点可以定义可以由两个或更多个点表示的直线几何形状。例如,两个中间横穿点和一个中间点可以定义弧形。

横穿着陆点对应于横穿区域的结束,并且可以附加地对应于第二草坪路线的开始点。第二草坪路线可以开始于第二草坪区块与横穿区域之间的第二接口处。第二接口由用于第二草坪区块的边界数据的点子集定义。横穿路线数据305a包括横穿启动点、中间横穿点和横穿着陆点。横穿路线数据305b包括横穿启动点、中间横穿点、中间横穿路线和横穿着陆点。在此将更详细地说明以上关于横穿路线数据305a-b所描述的点。

在一些情况下,可能期望移动到不同的草坪区块,而不首先割刈最靠近机器人坞接站50的草坪区块。在其它情况下,可能有益的是,横穿草坪区块,而不割刈该区块(例如,以从分离的草坪区块返回到坞接站50)。旁路路线数据320a-b提供用于机器人草坪割刈器遵循以横穿草坪区块而不割刈该区块的路径。

旁路路线数据包括用于草坪区块102a的旁路路线数据320a以及用于草坪区块102b的旁路路线数据320b。还短暂参照图2,旁路路线数据320a中所存储的点允许控制器生成从启动点1001穿过草坪区块102a去往用于横穿区域104a的横穿路线的开始的旁路路线。旁路路线数据320b允许控制器生成从用于横穿区域104a的横穿路线的开始穿过草坪区块102b去往用于横穿区域104b的横穿路线的开始的旁路路线。

在割刈特定草坪区块期间,机器人草坪割刈器可以遵循预定路径或模式以完成在草坪区块中切割杂草。关于路径的信息存储为草坪路线数据。机器人草坪割刈器可以存储用于允许均根据对于草坪区块适当的模式得以割刈的不同的草坪区块中的每一个的分离路线数据。草坪路线数据325包括用于草坪区块102a的草坪路线数据325a、用于草坪区块102b的草坪路线数据325b以及用于草坪区块102c的草坪路线数据325c。控制器使用草坪路线数据325a-c,以通过覆盖草坪区块102a-c的区块的(以下结合图7更详细地描述的)移动模式来引导机器人。机器人的覆盖面积由(上述)割刈宽度WM和机器人在执行草坪路线的同时所行进的距离的长度的乘积定义。草坪路线数据325a-c均包括分别用于每个草坪区块102a-c的开始点和结束点以及移动模式。控制器可以进一步计算每个草坪的面积以确定移动模式。在割刈操作期间,所计算的面积允许控制器比较所计算的草坪面积与草坪的覆盖面积,以确定机器人是否已经实现草坪的足够覆盖。在一些实现方式中,通过大于1的覆盖面积对所计算的面积的比率定义充分覆盖。

路径行为数据330指示机器人系统(例如驱动系统、切割系统、航行系统)沿着路线数据315、320、325所定义的路线的分段的操作。例如,与草坪路线数据325对应的部分或所有路线可以与指令控制器设置功率系统从而驱动系统和切割系统都打开并且杂草在机器人横穿路线的同时受切割的路径行为数据330关联。与横穿路线数据315和旁路数据320对应的部分或所有路线可以与将驱动系统设置为预定驱动速度(例如当机器人很可能操控不同转向时比割刈更慢,或如果机器人横穿长距离则比在割刈期间更快)并且将切割系统设置为0%的激活等级(例如,禁用割刈)的路径行为数据330关联。路径行为数据330可以还包括用于航行和/或驱动系统通过转向和前向驱动使得机器人航行的指令。

用户可以经由移动应用或机器人上的用户接口来设置调度数据335。用户可以设置使得机器人自动化以在不同的时间割刈每个草坪的调度。例如,机器人可以设置为在一星期中的一天的用户选择的时间割刈草坪区块102a-b,并且可以设置为在一星期中的另一天的用户所选择的另一时间割刈草坪区块102c。调度数据335确定哪些路线315、320、325要组合以生成用于在给定的时间的割刈操作的路径。

为了生成路线数据315、320、325,机器人可以由用户手动地训练或自动地受训练。图4-图8描述训练机器人的自动化方法和手动方法二者的方面。具体地说,图4A-图4C示出生成可以由控制器或用户用于生成路线数据315、320、325的边界数据305的不同示例。图5A-图5C示出生成横穿路线数据315的不同示例。图6描述生成旁路路线数据320的示例。图7示出可以基于来自图4-图6的结果而生成的路线数据(例如草坪路线数据、横穿路线数据以及旁路路线数据)的示例。随着生成路线数据315、320、325,路径行为数据330可以(与图7关联而描述的)自动地或(与图8关联而描述的)手动地与路线数据315、320、325中的每一个关联,从而机器人10的适当系统得以激活并且禁用。虽然图6-图8中的每一个所示的示例用于所示几何形状的草坪区块和横穿区域,但应理解,可以实现每个训练模式以关于各种草坪几何形状和配置而训练机器人10。

图4A示出示例性草坪区块102c,其中,机器人10通过检测边界标记器128a-c来确定其在草坪区块102c内的姿势。每个边界标记器位于已知位置处,并且定位为这样的:随着机器人航行草坪,机器人可以检测每个边界标记器。为了确定其在草坪上的方位,机器人从单独边界标记器接收信号。机器人基于可以表示机器人相对于三个边界标记器的位置的信号而确定其姿势。

可以基于从边界标记器接收到的信号(例如从机器人发送并且受边界标记器反射的信号或边界标记器所生成的并且由机器人接收到的信号)而确定机器人的姿势(例如P1、P2)。机器人草坪割刈器基于标记器与机器人之间的飞行时间而确定机器人与边界标记器之间的距离。因此,基于来自多个边界标记器的信息,可以基于从边界标记器中的每一个接收到的范围/朝向信息而通过三角测量来确定机器人的姿势。通常,三角测量是通过使用圆形、球形或三角形的几何形状来测量距离而确定点的绝对位置或相对位置的处理。在一个示例中,三角测量可以基于使用距离/飞行时间测量的最小二乘算法。在另一示例中,可以通过测量信号与反射信号的接收之间的相移来间接地测量飞行时间。替代地,可以通过以下操作来确定距离:从机器人发送信号,测量信号到达每个边界标记器的时间,以及使用到达时间差技术以估计机器人的位置。

使用示教再现(teach-and-playback)选路来训练边界106b,其中,用户在边界106b周围推动机器人,并且机器人存储关于受训练的边界的位置的信息。用于确定草坪边界的示例性处理的其它细节可以发现于例如2014年10月10日提交的题为“Robotic Lawn Mowing Boundary Determination”的US14/512,098中,其内容通过其完整引用合并到此。

图4B示出生成用于草坪区块102b的草坪边界数据的手动处理。用户通过以可拆卸手柄675引导机器人10而在草坪区块102b的边界106b周围手动地使得机器人10航行,并且机器人10随着其在草坪区块102b周围移动而生成边界数据305b。用户70通过推动并且拉动手柄675来手动地操控机器人10。机器人10自动地存储点,或用户70可以手动地触发点以待存储。随着用户70移动机器人10,机器人10可以编程为存储用于草坪区块102b的边界106b的在(以上参照图3所描述的)边界数据305b之下的与其当前方位路线对应的点。在一些实现方式中,机器人10可以编程为自动地每秒存储其当前方位。用户70也可以经由例如移动设备上的应用来手动地指令机器人10存储其当前方位,稍后将更详细地对此进行描述。

在一些示例中,数据处理单元生成区格的2D网格,以表示草坪区块。随着机器人草坪割刈器确定其相对于信标的方位,数据处理单元在其运动期间确定并且保存包含机器人草坪割刈器的每个区格的坐标。对于每个草坪区块,网格中的每个区格可以被分配指示区格是理解为NONMOWABLE(即,在边界外部)、MOWABLE(即,在边界内部)还是BOUNDARY(即,在边界上)的割刈区块值。网格的每个区格可以基于所选取的原点(0,0)区格而被分配(X,Y)坐标。每个区格可以表示正方形区块,其中,每个区格具有1cm至100cm之间的边长。例如,网格可以是均10cm x 10cm的区格的网格。机器人草坪割刈器存储机器人草坪割刈器沿着在教导模式期间所行进的实际教导路径所横穿的每个区格的(X,Y)坐标。机器人草坪割刈器可以将实际教导路径标记为跟踪机器人通过单个区格的路径的简单直线。替代地,机器人可以将机器人的足迹之下的所有区格标记为BOUNDARY(边界)区格。在教导的开始时,所有区格的值初始化为NONMOWABLE(非可割刈的)。操作者按压开始按钮以开始训练处理,并且然后在割刈区块的边界周围进行驱动。随着机器人驱动,沿着其实际教导路径的所有区格的值设置为BOUNDARY,区格的位置由距信标的距离确定。在行走边界之后,操作者按压按钮以结束教导处理。然后,操作者将机器人草坪割刈器定位在割刈区块内的任何地方,并且按压按钮,对机器人草坪割刈器指示其处于边界内部。响应于此,系统执行泛洪填充,以设置BOUNDARY区格所定义的边界内部的所有区格的值,以将它们标记为待割刈的MOWABLE(可割刈的)区格。

返回参照图3,横穿路线数据315指令机器人按路线移动穿过各分离的草坪区块(例如图2所示的横穿区域104a-b)之间的横穿区域。通过概述的方式,为了训练横穿路线数据,控制器确定并且存储至少横穿启动点和横穿着陆点。在一些实现方式中,控制器进一步确定并且存储中间横穿点。图5A和图5B分别描述关于(先前结合图3所描述的)横穿路线数据315a和315b所生成的点的示例。横穿路线数据315a包含定义机器人采取以从草坪区块102a移动到草坪区块102b的横穿区域104a内的横穿路线1500的点。横穿路线数据315b包含定义机器人遵循以从草坪区块102b移动到草坪区块102c的横穿区域104b内的横穿路线1600的点。

图5A-图5B分别示出分别关于横穿区域104a-b所生成的横穿路线1500、1600的示例。在横穿操作期间,机器人10通过依次经过定义横穿路线1500、1600的点航行穿过横穿区域104a-b。横穿路线1500由第一横穿启动点1540、中间横穿点1550a-b以及第一横穿着陆点1560定义。机器人10在直线分段中依次从点1540移动到点1550a、点1550b、点1560。参照图5B,横穿路线1600由第二横穿启动点1640、中间横穿点1650以及第二横穿着陆点1660定义。为了移动穿过横穿区域104b,机器人10依次在直线分段中从点1640移动到点1650、点1660。虽然图5C所示的示例示出用于横穿区域的特定配置的横穿路线数据,但应理解,可以关于横穿区域的其它可横穿配置生成横穿路线数据。

在一些示例中,可以使用与用于训练草坪的边界的处理相似的处理来训练横穿启动点与横穿着陆点之间的路线。例如,用户可以将机器人放置到横穿训练模式下,并且横穿启动点可以是机器人相对于信标的位置。用户然后沿着路径推动机器人,并且机器人将路径存储在存储器中。路径的结束存储为横穿着陆点。

虽然在上述示例中,手动地训练横穿路线,但在一些示例中,自动化处理可以用于训练横穿路线。在训练横穿路线1500的自动化实现方式中,控制器自动地生成横穿路线1500。参照图5A,控制器确定并且存储源边界(边界106a)与目的地边界(边界106b)之间的最短可横穿路线。机器人10可以通过多种方式来标识最短可横穿路线。例如,机器人可以标识机器人能够在一个区块与其它区块之间驱动的位置(例如,确定无障碍物的区域)。给定先前所描述的草坪的基于网格的表示,快速地探索随机树(RRT)或概率路标的路径规划算法(例如A*)可以于是用于寻找从机器人的当前位置到目的地的最短路径。

在训练横穿路线1500、1600的手动实现方式中,经由(先前结合图4C描述但图5中未示出的)可拆卸手柄手动地驱动机器人10。当用户将可拆卸手柄附连到机器人10并且在应用中标注用户正执行横穿路线训练时,控制器发起训练模式。关于横穿路线1500,用户使得机器人10航行通过横穿路线1500,并且机器人系统(例如控制器和存储器存储元件)生成与横穿路线1500对应的点。机器人系统经由机器人10的手动航行可以生成实质上与以上所描述的点(例如横穿启动点1540、横穿着陆点1560和中间横穿点1550a-b)相似的点,但应理解,用户可以使得机器人10沿着具有更少或更多的中间横穿点的不同路线航行。当用户将机器人10推出草坪区块102a的区域时,机器人10的控制器确认这种脱离,并且生成与机器人10退出草坪区块102a的点对应的横穿启动点1540。机器人10的用户引导机器人通过转向以避开花卉分隔区116的横穿路线1500,并且机器人10存储关于机器人10在横穿路线训练期间遵循的路径的信息。当用户推动机器人10穿过边界106b时,控制器可以基于草坪104b的映射数据而检测穿越,并且自动地生成横穿着陆点1560。

关于横穿路线1600,用户在对角线方向上推动机器人10穿过边界106b,并且控制器生成横穿启动点1640。用户手动地使得机器人10朝向边界106c航行,避开火坑131,并且机器人10存储机器人10所遵循的路径。当机器人10穿越边界106c时,控制器生成横穿着陆点1660,并且完成关于横穿区域104b的横穿路线训练。

在一些示例中,如上所述,数据处理单元生成区格的2D网格以表示草坪区块,并且每个区格得以指示为MOWABLE、NONMOWABLE或BOUNDARY。在这种基于网格的系统中,在训练横穿区域期间,随着机器人草坪割刈器确定其相对于信标的方位,数据处理单元在其运行期间(例如,在横穿各草坪区块之间的边界区块的同时)确定并且保存包含机器人草坪割刈器的每个区格的坐标。网格的每个区格可以基于所选取的原点(0,0)区格而被分配(X,Y)坐标。机器人草坪割刈器存储机器人草坪割刈器沿着在教导横穿路径期间所行进的实际教导路径所横穿的每个区格的(X,Y)坐标。机器人草坪割刈器可以将实际教导路径标记为跟踪机器人通过单个区格的路径的简单直线。替代地,机器人可以将机器人的足迹之下的所有区格标记为TRAVERSAL PATH(横穿路径)区格。

在教导的开始时,多个割刈草坪区块之间的所有区格的值初始化为NONMOWABLE。操作者按压开始按钮以开始教导处理,并且然后从一个草坪区块驱动到另一草坪区块。随着机器人驱动,沿着其实际教导路径的所有区格的值设置为TRAVERSAL PATH,区格的位置由距信标的距离确定。在行走横穿路径之后,操作者按压按钮以结束教导处理。在操作期间,当机器人草坪割刈器横穿标记为TRAVERSAL PATH的区格时,机器人草坪割刈器禁用(关闭)其切割系统。

图6是训练分别提供控制器用于穿越通过草坪区块102a、102b的数据的旁路路线数据320a、320b的示例。控制器生成与启动点1001对应的旁路启动点1740。控制器进一步生成与横穿启动点1540一致的旁路着陆点1760。旁路启动点和旁路着陆点是相对于信标的位置。控制器确定并且存储避开草坪区块内的任何保留区带的旁路启动点1740与旁路着陆点1760之间的最短路线。控制器选择用于最短路线的初始点。控制器命令机器人10经由最短路线(例如直线)从旁路启动点1740移动到旁路着陆点1760。控制器从训练可割刈空间的保留区带获知玫瑰花园125的位置,并且使用用于玫瑰花园125的内部边界数据(例如图3中所描述的内部边界数据310)以确定避开横穿所禁止的空间的旁路路线1700。作为该路线确定的结果,控制器存储旁路启动点1740、中间旁路点1750以及旁路着陆点1760,如图6所示。

相似地,为了训练表示旁路路线1800的旁路路线数据320b,控制器生成与横穿着陆点1560一致的旁路启动点1840以及与横穿启动点1640一致的旁路着陆点1860。控制器确定并且存储避开所禁止的保留区块的旁路启动点1840与旁路着陆点1860之间的最短路线(例如,确定停留在可割刈空间内的路径)。在其它示例中,用户可以通过与用于通过在机器人存储关于路径的信息的同时沿着期望的路径推动割刈器来训练边界的处理相似的方式来训练旁路路线。

在一些示例中,如上所述,数据处理单元生成区格的2D网格以表示草坪区块,并且每个区格得以指示为MOWABLE、NONMOWABLE或BOUNDARY。各草坪区块之间的区域可以具有标记为TRAVERSAL PATH区格的连接路径。在这种基于网格的系统中,在训练旁路路线期间,随着机器人草坪割刈器确定其相对于信标的方位,数据处理单元在其运动期间(例如,在横穿穿过草坪区块的同时)确定并且保存包含机器人草坪割刈器的每个区格的坐标。网格的每个区格可以基于所选取的原点(0,0)区格而被分配(X,Y)坐标。机器人草坪割刈器存储机器人草坪割刈器沿着在教导旁路路径期间所行进的实际教导路径所横穿的每个区格的(X,Y)坐标。机器人草坪割刈器可以将实际教导路径标记为跟踪机器人通过单个区格的路径的简单直线。替代地,机器人可以将机器人的足迹之下的所有区格标记为BYPASS(旁路)区格。

在教导的开始时,由于旁路路线处于待割刈的草坪区块内,因此所有区格的值是MOWABLE。操作者按压开始按钮以开始教导处理,并且然后从草坪区块内的一个方位驱动到草坪区块内的另一方位。随着机器人驱动,沿着其实际教导路径的所有区格的值设置为BYPASS(或MOWABLE/BYPASS),区格的位置由距信标的距离确定。在行走旁路路线路径之后,操作者按压按钮以结束教导处理。

图7A-图7B描述自动化生成与以上所生成的路线数据315、320关联的草坪路线数据325a-c以及不同的路径行为330。草坪路线数据325a-c包括开始点、结束点以及移动模式。移动模式可以是例如螺旋模式、谷物行模式、曲折模式等。用户可以选择用于草坪区块中的每一个的期望的移动模式,并且不同的模式可以关于同一草坪的不同区块得以选择。

在一些示例中,庭院可能太长而无法在机器人草坪割刈器电池的单次充电时进行割刈。在这些情况下,机器人可以在不同的时间割刈庭院的不同区块,允许机器人返回到坞并且在割刈不同的区块之间对其电池进行充电。

图7A描述执行草坪区块102a、102b的割刈操作,此后机器人返回到充电坞50。图7B描述执行草坪区块102c的割刈操作,此后机器人返回到充电坞50。在所示示例中,基于开始点、结束点以及默认移动模式而自动地生成草坪路线1900a-b。对于草坪区块102a,机器人在启动点1001处开始,并且进入谷物行移动模式,直到机器人已经确定其已经覆盖草坪区块102a(例如,完成覆盖模式,或确定例如机器人所覆盖的距离乘以切割元件的宽度所定义的覆盖面积大于所计算的用于草坪区块102a的面积的100%)。谷物行移动模式引导机器人来回穿过草坪,从而机器人在每次横穿期间稍微垂直于模式的纵向移动而移动。在完成草坪区块102a的割刈时,为了从草坪区块102a移动到草坪区块102b,控制器执行横穿路线数据320a,其定义横穿路线1500。用于横穿路线数据320的关联路径行为数据330包括:禁用切割系统。对于草坪路线数据325b,开始点定义为横穿着陆点1560,结束点定义为横穿启动点1640。在进入草坪区块102b时,机器人激活切割系统。在完成之后,机器人返回到启动点1001。

参照图7B,在随后时间(例如,在充电之后),机器人继续通过割刈草坪区块102c来对草坪进行割刈。为了从启动点1001移动到草坪区块102c,控制器执行旁路路线数据320a、横穿路线数据315a、旁路路线数据320b以及横穿路线数据315b。数据320a-b、315a-b一起定义用于将机器人从启动点1001移动到草坪区块102c的旁路路线2100。用于旁路草坪区块102a-b的旁路路线2100的关联路径行为数据330包括:禁用切割系统。在进入所意图的区块以进行割刈时,机器人激活切割系统。草坪路线1900c的开始点对应于旁路路线2100的结束点。机器人继续谷物行移动模式,直到机器人已经确定其已经覆盖草坪区块102c。当机器人已经确定机器人已经覆盖草坪区块102c时,控制器命令机器人10返回到启动点1001。

如贯穿本公开所示,用户可以通过安装在计算设备上的应用来监控并且控制机器人以及机器人的训练的各个方面,这样允许用户启用例如其它功能当中的例如调度、旁路、移动选择、草坪区块选择的功能性。用户可以经由接口特征(例如触摸屏显示器、键盘、语音命令、手势或另一类型的交互)与计算设备进行交互。虽然图8所示的计算设备是智能电话,但在其它实现方式中,设备可以是便携式设备(例如智能眼镜、智能手表、膝上型计算机)或计算设备(例如台式计算机)。

图8示出图2所示的示例性草坪区块的用户接口的屏幕快照。移动设备显示菜单部分3000和地图部分3500。菜单部分3000显示选项,包括:“显示路线”、“调度”以及“默认设置”。在菜单部分3000上拍击“显示路线”将显露存储为训练横穿路线、旁路路线和草坪路线的结果的点或区格。如将讨论的那样,用户可以与这些点进行交互。拍击“调度”允许用户修改用于机器人的割刈操作的调度。拍击“默认设置”允许用户修改用于训练子例程的默认设置。

地图部分3500包括用户想要割刈的草坪区块的卫星地图。卫星地图可以由用户选择,并且可以从地图提供商服务下载。移动设备的处理器可以进一步在卫星地图上识别边界和轮廓。在任何训练之前,用户可以与卫星地图进行交互,以给出与用户希望割刈的草坪区块对应的普通区块。用户可以使用触摸屏以绘制运作为可以在训练中协助机器人的虚拟区域的几何形状。用户可以将虚拟区域设置为草坪区块,其可以对控制器给出用于草坪区块的边界的普通位置。用户可以进一步设置用于横穿区域以及用于障碍物的虚拟区域。此外,在训练之前,地图包括与充电坞的位置以及机器人10的当前位置对应的启动点1001。用户也可以选择用于在此所描述的训练方法的默认设置。

随着用户继续通过训练机器人的附加方面(例如边界训练、横穿路线训练以及旁路路线训练),来自主菜单的附加选项变为可用的。在机器人已经完成草坪区块的边界训练之后,地图可以包括(以上所描述的)边界数据305的点。虽然用于每个横穿区域的横穿启动点和横穿着陆点已经描述为自动地设置的,但用户也可以通过选择应用上的地图上所示的边界的点之一来僭越自动地选择的点。在用户选择用于每个横穿区域的横穿启动点和横穿着陆点之后,控制器可以进一步实现优化算法(例如准牛顿方法),其考虑横穿启动点和横穿着陆点的位置以计算横穿启动点与横穿着陆点之间的最短路线。在一些实现方式中,用户可以在移动设备上标记可横穿和不可横穿的边界。

在确定并且存储用于横穿区域的横穿启动点和横穿结束点之后,用户可以发起先前详细地描述的自动化或手动横穿路线训练。由于可以在已经定义草坪路线开始点和草坪路线结束点之后定义割刈模式,因此用户也可以在实现横穿路线训练之前选择每个草坪的割刈模式。

用户可以进一步创建用于机器人的调度。草坪的每个区块可以分离地受调度。因此,机器人存储用于多个草坪区块中的每一个的调度数据。例如,如果用户想要机器人与草坪区块102a-b分离地割刈草坪区块102c,则用户可以经由用户接口选择草坪区块102c,并且设置用于对草坪区块102c进行割刈的调度(例如星期的时间和天)。机器人可以受调度以在一个割刈操作中对草坪区块102a-b进行割刈并且在另一割刈操作中对草坪区块102c进行割刈。当机器人受调度以对草坪区块102b进行割刈时,机器人将遵从图7A中所描述的路线。当机器人受调度以割刈草坪区块102c时,机器人将旁路草坪区块102a-b以对草坪区块102c进行割刈,如图7B所示。

图9是用于训练机器人以对具有将第一草坪与第二草坪(例如图2的草坪区块102a-b)分离的横穿区域第一草坪和第二草坪进行割刈的流程图。通常,处理包括:标识第一草坪的边界,标识第二草坪的边界,选择横穿启动点,训练第一草坪路线,选择中间横穿点,选择横穿着陆点,训练用于第一草坪的旁路路线,选择用于第一草坪的移动模式,以及选择用于第二草坪区块的移动模式。

在步骤S900,控制器训练机器人以标识第一草坪区块的边界。控制器实现关于图4A-图4C所描述的边界训练方法中的一个或多个,以生成与第一草坪区块的边界对应的点。

在步骤S905,控制器训练机器人以标识第二草坪区块的边界。控制器实现关于图4A-图4C所描述的边界训练方法中的一个或多个,以生成与第二草坪区块的边界对应的点。

在步骤S910,控制器训练横穿启动点。控制器可以经由图8中所描述的应用上的用户选择来训练横穿启动点,或控制器可以实现(例如图5中所描述的)路线训练以自动地选择横穿启动点。

在步骤S915,控制器训练用于第一草坪区块的第一草坪路线。第一草坪区块路线使用通常通过充电站的位置预先确定的开始点,并且使用步骤S910中所训练的横穿启动点所确定的结束点。控制器选择用于第一草坪路线的割刈模式,其可以是用于第一草坪区块的几何形状的默认模式(例如谷物行模式)。控制器可以进一步设置用于第一草坪路线的关联路径行为。

在步骤S920,控制器通过实现关于图5A-图5B所描述的横穿路线训练来训练用于横穿区域的中间横穿点和横穿着陆点。控制器使得机器人航行到步骤S910中所选择的横穿启动点,并且随着控制器实现横穿路线训练而命令机器人通过横穿区域。如果横穿区域内存在障碍物,则控制器可以随着机器人避开障碍物而生成中间横穿点。随着机器人穿越横穿区域并且进入第二草坪,控制器生成横穿着陆点,并且因此完成训练横穿路线。控制器可以进一步设置用于横穿路线的关联路径行为,包括:关闭机器人草坪割刈器的切割系统。

在步骤S925,控制器训练用于第二草坪区块的第二草坪路线。用于第二草坪的割刈模式使用通常由步骤S920中训练的横穿着陆点的位置所确定的开始点。用于第二草坪的割刈模式使用通常由步骤S905中所训练的边界点以及横穿着陆点所确定的结束点。在一些实现方式中,结束点是最远离横穿着陆点的边界点。控制器选择用于第二草坪路线的第二割刈模式,其可以是用于第一草坪区块的几何形状的默认模式(例如谷物行模式)。控制器可以进一步设置用于第二草坪路线的关联路径行为。

在步骤S930,控制器训练旁路路线以从与充电站的位置对应的启动点穿过第一草坪区块移动到横穿路线的开始。控制器实现图7中所描述的旁路路线训练以生成旁路路线的点。控制器可以进一步设置用于旁路路线的关联路径行为。

图10A-图10B是用于在已经采取图9的方法训练机器人之后的割刈操作的流程图。

图10A是对第一草坪区块和第二草坪区块都进行割刈的割刈操作的流程图。在步骤S1000A,机器人启用机器人的切割系统,并且对第一草坪区块进行割刈。机器人遵循步骤S915中所确定的第一割刈模式。在机器人已经覆盖第一草坪区块的至少100%的面积之后,割刈模式在步骤S910中所确定的横穿启动点处结束。

在步骤S1005A,在机器人到达横穿路线的横穿启动点之后,机器人禁用切割系统,并且开始经由步骤S910和S920中所确定的(包括横穿开始点、中间横穿点和横穿结束点的)横穿路线横穿过横穿区域。机器人在步骤S920中所确定的横穿结束点处完成横穿路线。

在步骤S1010A,在机器人横穿过横穿区域之后,机器人启用切割系统并且开始经由步骤S925中所存储的第二草坪路线对第二草坪进行割刈。机器人遵循第二割刈模式,直到机器人已经覆盖第二草坪区块的面积的至少100%的区块。机器人然后在步骤S925中所确定的结束点处终止第二草坪路线。

在步骤S1015A,在机器人到达第二草坪路线的结束点之后,机器人禁用切割系统,并且返回到启动点。

图10B是旁路第一草坪并且对第二草坪区块进行割刈的割刈操作的流程图。在步骤S1000B,机器人禁用割刈功能,经由步骤S935中所训练的旁路路线来旁路第一草坪,经由步骤S910和S920中所训练的横穿路线横穿过第一横穿区域,以到达第二草坪区块上的横穿着陆点。

在步骤S1005B,在机器人到达横穿路线的横穿着陆点之后,机器人启用切割系统,并且开始经由步骤S925中所确定的第二草坪路线对第二草坪进行割刈。机器人遵循第二割刈模式,直到机器人已经覆盖第二草坪区块的至少100%的面积的区块。机器人然后在步骤S925中所确定的结束点处终止第二草坪路线。

在步骤S1010B,在机器人到达第二草坪路线的结束点之后,机器人禁用切割系统,并且返回到启动点。

虽然本公开中所描述的示例描述了三个不毗邻草坪区块102a-c,但在一些实现方式中,机器人可以受训练为对更多或更少的草坪区块进行割刈。例如,在一些实现方式中,机器人可以受训练为对连续草坪进行割刈,并且因此无需横穿路线数据以移动穿过横穿区域。在其它实现方式中,机器人可以受训练为对若干不毗邻草坪区块(例如四个或更多个)进行割刈。机器人可以受调度以在不同的时间执行若干割刈操作,从而机器人的功率系统可以贯穿整个割刈操作得以维持。机器人可以受训练为包括允许机器人旁路在割刈操作中不待割刈的草坪区块的若干旁路路线。

虽然已经关于各个操作简要地描述了系统的激活等级的组合(例如,在横穿操作期间的驱动系统的50%激活等级以及切割系统的0%激活等级),但在一些实现方式中,设置激活等级可以是自适应的。例如,随着机器人执行训练操作,机器人可以具有割幅传感器,其可以检测机器人经过的杂草的刚度。随着机器人检测杂草的刚度,其可以在割刈操作期间修改切割系统的激活等级,以容纳该刚度。如果杂草是刚硬的,则切割系统的激活等级可以增加。机器人可以在驱动系统中还包括扭矩或力传感器,以确定用于驱动系统驱动轮模块以穿越各种地形的激活等级。

虽然调度数据335已经描述为由用户经由计算设备上的应用而得以设置,但在一些实现方式中,控制器可以被配置为:自动地设置调度数据。控制器可以例如计算不毗邻草坪区块中的每一个的面积以及潜在路线的距离,并且使用这些计算以估计与特定路线选项关联的功耗量。控制器可以于是设置路线的调度,从而机器人可以在功率的完全电量的情况下执行每个割刈操作。

虽然路径规划算法(例如A*、快速探索随机树(RRT)、或概率路标)已经描述为用于训练横穿路线和旁路路线,但在其它实现方式中,其它算法(例如Floyd-Warshall算法、Johnson算法以及Dijkstra算法)可以用于减少计算负担。例如,在点集合仅包括一个点或第二点集合仅包括一个点的情况下,可以使用单个源或单个目的地最短路径算法(例如Dijkstra算法)。

虽然阈值割刈区块覆盖已经描述为草坪的面积的100%,但在一些实现方式中,阈值割刈区块覆盖可以更大。在其它实现方式中,阈值割刈区块覆盖可以大于例如草坪区块102a的面积的150%。

在手动模式中,虽然机器人已经描述为经由传感器系统来检测手柄,但在一些实现方式中,用户可以手动地对机器人指令手柄已经附连。此外,在具有自动点存储的手动模式下,机器人已经描述为每秒存储点。在其它实现方式中,存储各点之间的时间的持续期可以由用户修改为更多或更少。例如,对于较大的草坪区块,可能有益的是,存储更少的点,以减少专用于草坪路线数据的存储空间的量。

虽然手柄675已经描述为可拆卸的,但在其它实现方式中,手柄保留在机器人上,但可折叠或可装载。例如,手柄可以叠缩,从而手柄当不使用时可以折叠为小形数。

虽然并未示出用于定义草坪区块102a-c的虚拟特性,但在一些实现方式中,用户可以使用计算设备上的应用以手动地定义普通边界。应用上的手动定义的边界可以生成机器人遵循以映射边界的虚拟标记器。

虽然用于表示草坪的区格的2D网格的区格已经描述为表示具有1cm至100cm之间的边长的正方形区块,但在其它实现方式中,区格可以取决于性质而更大或更小。例如,对于更大的房产(例如足球场、高尔夫球场),边长可以处于1m至10m之间。在一些实现方式中,用户手动地设置边长。在其它实现方式中,控制器基于用于草坪或房产的区块的输入而选择区格大小。在其它示例中,控制器实现基于草坪的几何形状而确定区格大小的自适应算法。例如,对于无定形草坪形状,更大数量的区格可以用于反映无定形几何形状。

在一些实现方式中,用户可以选择用于路径规划算法的目标函数。例如,并非请求横穿启动点与横穿着陆点之间的具有最小距离的路线,用户可以选择控制器最小化以选择具有最少数量的转向的路线、在特定点开始并且结束的路线的目标函数(例如,用户预先定义横穿启动点和横穿着陆点)。用户也可以选择多于一个的目标函数以最小化。例如,用户可能想要使得转向的数量以及横穿启动点与横穿着陆点之间的距离最小化。

虽然用于横穿路线1500、1600和旁路路线1700、1800的训练方法已经描述为在各个启动点与着陆点之间中包括一个或更少的障碍物,但在一些实现方式中,在训练期间检测附加障碍物。在生成中间点并且尝试在训练期间所生成的横穿路线或旁路路线之后,控制器确定附加障碍物的出现性。控制器映射附加障碍物,并且生成附加中间点,以寻找优化的路径以避开障碍物。控制器继续贯穿训练方法进行迭代,直到控制器命令机器人通过路线,而不检测附加障碍物。

虽然横穿启动点和横穿着陆点已经描述为以自动化方式或经由安装在移动设备上的用户应用而得以选择,但在一些实现方式中,沿着边界所放置的边界标记器也可以充当横穿启动点和横穿着陆点。在这些实现方式中,与依赖于用于横穿启动和着陆点的虚拟标记器相反,用户可以放置表示横穿启动点和横穿着陆点的物理标记器(例如边界标记器)。

虽然本公开所示的路线分段的示例关注于各点之间的直线分段,但应理解,可以通过路线上的点生成其它曲线几何形状(例如弧形)。将多项式与路线上的两个点关联可以例如生成连接这两个点的样条几何形状。当机器人到达样条几何形状的点之一时,控制器可以将航行系统与多项式函数相关,从而机器人沿着样条几何形状移动。例如,对于具有不容易通过弧形定义的障碍物,控制器可以生成用于近似用于避开障碍物几何形状的路线的样条几何形状。

虽然第一横穿启动点1540、1640已经描述为在训练横穿路线的处理期间得以选择,但在其它实现方式中,默认横穿启动点可以是充电坞。

虽然草坪区块102c已经描述为没有对应受训练的旁路路线,但在一些实现方式中,最后的草坪可以具有可以用作返回路线的部分的受训练的旁路路线。例如,在旁路路线训练期间,旁路路线可以关于草坪区块受训练,从而机器人可以采取旁路路线的反向,以返回到充电站。并非关于旁路草坪区块的旁路路线的结束点使用用于横穿区域的横穿启动点,旁路路线可以使用用于草坪区块的割刈模式的结束点。

虽然草坪路线的割刈模式已经描述为在覆盖草坪之后完成,但在一些实现方式中,控制器可以被编程,从而草坪路线的割刈模式在横穿启动点处终止。例如,草坪路线的结束点可以在横穿路线的横穿启动点处终止。

在一些实现方式中,机器人在推断割刈操作时采取的返回路线可以是旁路路线和横穿路线的合成。例如,短暂参照图7A,为了从草坪路线1900b的结束点返回到充电站50,机器人10可以在相反方向上遵循旁路路线1800、横穿路线1500以及旁路路线1700。

虽然路径行为数据330已经描述为在已经生成草坪路线数据325之后关于图7分配给横穿路线数据315和旁路路线数据320,但应理解,可以随着正生成每个路线数据而生成路径行为数据330。例如,随着正生成用于横穿路线数据和旁路路线数据的点,可以设置与这些路线关联的路径行为数据,从而驱动系统设置在中等范围激活等级,并且禁用切割系统。在一些实现方式中,控制器可以被编程,从而训练旁路路线数据和横穿路线数据自动地将这些路线数据与切割系统的禁用关联,并且训练草坪路线数据自动地将草坪路线数据关联于切割系统的激活。

虽然在此所描述的草坪路线应用于连续草坪,但在一些实现方式中,草坪可以分段为毗邻草坪区域的两个分离的草坪区域。机器人可以受调度以在不同的时间对草坪区域进行割刈。

虽然横穿启动点和横穿着陆点的选择已经描述为基于横穿启动点距横穿着陆点的距离的优化的自动化选择,但横穿启动点和横穿着陆点的修改可以是手动操作。例如,用户可以在移动设备的应用上浏览对于草坪区块所存储的边界数据,并且手动地选择用于横穿启动点和横穿着陆点的位置。

虽然图9-图10所示的流程图的步骤已经描述为依次产生,但应理解,可以按不同的顺序执行一些步骤。例如,参照图9,训练第一区块与第二区块之间的横穿路线可以产生在训练用于第一区块和第二区块的割刈操作之后。训练旁路路线可以产生在训练第二草坪路线或训练横穿路线之前。

已经描述了多个本发明实施例。然而,应理解,可以在不脱离本发明的精神和范围的情况下进行各种修改。

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