CN112584697B - 使用视觉系统的自主机器导航和训练 - Google Patents
使用视觉系统的自主机器导航和训练 Download PDFInfo
- Publication number
- CN112584697B CN112584697B CN201980052622.XA CN201980052622A CN112584697B CN 112584697 B CN112584697 B CN 112584697B CN 201980052622 A CN201980052622 A CN 201980052622A CN 112584697 B CN112584697 B CN 112584697B
- Authority
- CN
- China
- Prior art keywords
- work area
- data
- autonomous machine
- 3dpc
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims description 222
- 238000000034 method Methods 0.000 claims abstract description 208
- 230000000007 visual effect Effects 0.000 claims abstract description 102
- 230000007717 exclusion Effects 0.000 claims description 37
- 230000004927 fusion Effects 0.000 claims description 31
- 238000012423 maintenance Methods 0.000 claims description 27
- 238000005192 partition Methods 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 20
- 230000036961 partial effect Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 14
- 238000005259 measurement Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 29
- 230000007704 transition Effects 0.000 description 25
- 238000010276 construction Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000001454 recorded image Methods 0.000 description 6
- 244000025254 Cannabis sativa Species 0.000 description 4
- 241001494496 Leersia Species 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000004677 Nylon Substances 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000005276 aerator Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 235000021384 green leafy vegetables Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 229920001778 nylon Polymers 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/006—Control or measuring arrangements
- A01D34/008—Control or measuring arrangements for automated or remotely controlled operation
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/82—Other details
- A01D34/824—Handle arrangements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/3867—Geometry of map features, e.g. shape points, polygons or for simplified maps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0055—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
- G05D1/0061—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D2101/00—Lawn-mowers
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/67—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator
- A01D34/68—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator with motor driven cutters or wheels
- A01D34/69—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator with motor driven cutters or wheels with motor driven wheels
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/76—Driving mechanisms for the cutters
- A01D34/78—Driving mechanisms for the cutters electric
Abstract
自主机器导航技术可基于特征数据和匹配数据生成表示至少一个作业区域的三维点云。可生成与三维点云的点相关联的姿态数据,该姿态数据表示自主机器的姿态。可使用姿态数据确定边界,以用于所述自主机器在所述作业区域中的后续导航。非视觉传感器数据可用于确定姿态。可基于视觉姿态数据更新所述姿态。可基于更新的姿态在作业区域的边界内导航所述自主机器。可基于在巡视阶段期间捕获的数据生成所述三维点云。可基于在绘制阶段期间捕获的数据生成边界。
Description
本申请要求于2018年8月8日提交的申请号为62/716,208、于 2018年8月9日提交的申请号为62/716,716、于2018年10月5日提交的申请号为62/741,988、以及于2019年3月15日提交的申请号为62/818,893的美国临时申请的权益,这些专利申请的全部内容通过引用方式并入本文。
技术领域
本公开涉及自主机器导航。具体地说,本公开涉及用于地面维护机器的自主机器导航。
背景技术
诸如草坪机械和花园机械之类的地面维护机器已知用于执行各种任务。例如,业主和专业人士等都使用动力割草机来维护地产或庭院内的草地区域。自主地执行割草功能的割草机也是已知的。一些割草机将在预定边界内的作业区域中运转。这种割草机可依赖于帮助割草机自主地停留在预定边界内的导航系统。例如,某些由丝线限定的边界可以被割草机检测到。割草机通过在边界内随意的移动来导航,并且在检测到边界丝线时重新定向其轨迹。对于某些作业区域或某些自主维护任务,可能是不期望使用边界丝线的。例如,边界丝线可能既昂贵安装起来又麻烦,可能会断裂且变得不可操作,或者可能难以移动以重新限定作业区域的期望边界。然而,割草机的移动性质限制了诸如处理能力、存储能力和电池寿命等可用计算资源,而这些可用计算资源可用于其他更复杂导航类型的割草机。
发明内容
本公开的实施例涉及用于自主机器的导航,具体地说涉及在作业区域的边界内自主导航和运转,甚至更具体地说可以适于计算资源有限的自主机器。本公开的技术提供了用于训练自主机器以在作业区域中导航的稳健流程。
在一个方面,一种用于自主机器导航的方法包括基于所述自主机器的一个或多个非视觉传感器捕获的非视觉姿态数据,确定所述自主机器的当前姿态。所述姿态表示所述自主机器在由一个或多个边界限定的作业区域中的位置和取向中的一者或两者。所述方法还包括:基于所述自主机器捕获的图像数据,确定视觉姿态数据。所述方法还包括:基于所述视觉姿态数据更新所述当前姿态,以校正或定位所述当前姿态,并且提供所述自主机器在所述作业区域中的更新的姿态,以用于在所述作业区域中导航所述自主机器。
在另一方面,一种自主机器包括:壳体,所述壳体联接到维护工具;一组车轮,所述一组车轮在地面上支撑所述壳体;推进控制器,所述推进控制器与所述一组车轮可操作地联接;视觉系统,所述视觉系统具有至少一个适于捕获图像数据的相机;以及导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器上。所述导航系统适于在作业区域内引导所述自主机器。所述导航系统可配置成基于自主机器的一个或多个非视觉传感器捕获的非视觉姿态数据确定所述自主机器的当前姿态。所述姿态表示所述自主机器在一个或多个边界限定的作业区域中的位置和取向中的一者或两者。所述导航系统可配置为包括基于所述至少一个相机捕获的图像数据确定视觉姿态数据。所述导航系统可配置为基于视觉姿态数据更新所述当前姿态以校正或定位当前姿态,并且提供所述自主机器在作业区域中更新的姿态,以用于在作业区域中导航所述自主机器。
在又一方面,一种用于自主机器的导航训练的方法可包括:在训练模式的巡视阶段期间,沿着作业区域的周边或作业区域的内部中的至少一者引导所述自主机器,以记录与所述周边相关联的第一组巡视图像或与所述内部相关联的第二组巡视图像;在离线模式期间,基于所述第一组巡视图像和所述第二组巡视图像中的至少一者,生成三维点云(3DPC);以及在训练模式的绘制阶段期间,沿着一条或多条路径引导所述自主机器,以记录传感器融合数据,从而在导航地图中限定作业区域的一个或多个边界。
发明内容并非旨在描述本公开的每个实施例或每个实施方式。通过参考下面的详细描述和权利要求书,结合附图,对本公开的更全面的理解将变得显而易见并得以理解。
附图说明
将参考附图进一步描述示例性实施例,在附图中:
图1是根据本公开的一个实施例的具有视觉系统的自主地面维护机器的示意性侧视图。
图2A是根据本公开的一个实施例的可使用图1所示机器在其中操作的边界内的作业区域的平面图。
图2B是图2A所示作业区域内的分区的平面图并且是根据本公开的一个实施例的图1所示机器在限定所述分区的边界内规划路径的示例。
图3是根据本公开的一个实施例的包括可使用图1所示机器在其中操作的排除区和转移区的作业区域的平面图。
图4是根据本公开一个实施例的图1所示机器的各种系统的示意性视图。
图5是根据本公开一个实施例的图1所示机器的各种模式的示意性视图。
图6是根据本公开的一个实施例的向与图1所示机器的平台通信的导航系统提供数据的传感器的示意性视图。
图7是根据本公开的一个实施例的与图6所示导航系统一起使用的传感器融合模块中的传感器数据输入和传感器融合处理的示意性视图。
图8是根据本公开的一个实施例在图5所示训练模式期间的视觉系统的功能示意图。
图9是根据本公开的一个实施例的在图5所示离线模式期间的视觉系统的功能示意图。
图10是根据本公开的一个实施例的在图5所示在线模式期间的视觉系统的功能示意图。
图11是根据本公开的一个实施例的使用训练图像来生成在图5 所示离线模式期间使用的三维点云的示意图。
图12是根据本公开的一个实施例的与使用图9所示视觉地图构建模块生成的三维点云相关联的姿态估算的示意图。
图13是根据本公开的一个实施例的与特定作业区域的三维点云的低质量部分相关联的姿态估算的示意图。
图14是根据本公开的一个实施例的与图13所示作业区域的更新的三维点云相关联的姿态估算的示意图。
图15是根据本公开的一个实施例的在图9所示视觉地图构建模块期间使用的视觉地图构建方法的示意性视图。
图16是根据本公开的一个实施例的用于训练图1所示机器的一种训练方法的流程图。
图17是根据本公开的一个实施例的用于操作图1所示机器的自主机器导航方法的流程图。
图18是根据本公开的一个实施例的用于训练图1的机器的另一种训练方法的流程图。
图19是根据本公开的一个实施例的图18所示训练方法的巡视阶段的流程图。
图20是根据本公开的一个实施例的用于至少部分地执行图18 所示训练方法的具体方法的流程图。
图21是根据本公开一个实施例的可用于图1所示机器的手柄组件的立体图。
图22是根据本公开的一个实施例的用于训练图1的机器的又一种训练方法的流程图。
图23是根据本公开的一个实施例的图3所示基座的示意性视图。
这些图主要是为了清楚起见而给出的,因此不一定是按比例绘制的。此外,各种结构/部件,包括但不限于紧固件、电气部件(配线、电缆等)等可以被示意性地示出或从一些或所有视图中移除,以更好地示出所描绘的实施例的各个方面,或者其中,对于理解本文所描述的各种示例性实施例而言,不是必须包括这样的结构/部件。然而,在特定附图中缺少对这样的结构/部件的说明/描述不应被解释为以任何方式限制各种实施例的范围。
具体实施方式
在以下对示例性实施例的详细描述中,参考了构成其一部分的附图。应理解的是,当然可以设想本文没有描述和/或示出的其它实施例。
本文提供的所有标题都是为了方便读者,并且不应当用于限制标题后面的任何文本的含义,除非是如此规定的。此外,除非另有指出,否则说明书和权利要求中的表示数量的所有数字和表示方向/ 取向的所有术语(例如,竖直、水平、平行、垂直等)在任何情况下均应理解为由术语“约”修饰。此外,术语“和/或”(如果使用的话)是指所列元件中的一个或所有,或者所列元件中的任何两个或多个的组合。又此外,“即”在本文中可以用作也就是说(idest) 的缩写并且是指“也就是”,而“例如”可以用作示例性(exempli gratia) 的缩写并且是指“例如”。
本公开的实施例提供了在作业区域的边界内自主导航和操作的自主机器导航方法和系统,特别是用于地面维护,例如割草。自主机器可以配置在不同的模式中以执行各种导航功能,例如训练模式、离线模式和在线模式。自主机器可以使用例如视觉系统和非视觉传感器而不是使用边界丝线来限定作业区域的一个或多个边界。自主机器可以通过使用视觉系统确定的位置或取向来校正工作区域内的位置或取向,该位置或取向是使用一个或多个非视觉传感器确定或估算的。训练自主机器的步骤可以在训练模式期间进行,所述训练模式可以包括一个或多个阶段,例如巡视阶段和绘制阶段。
本文描述的一些方面涉及使用视觉系统和非视觉传感器限定作业区域的边界。本公开的一些方面涉及使用视觉系统校正作业区域内的估算位置。视觉系统可以利用一个或多个相机。可以通过沿着期望的边界路径(例如,在训练模式期间)引导自主机器记录图像。算法可以用于提取特征,以匹配不同图像之间的特征,并且生成至少对应于所述作业区域(例如,在离线模式期间)的三维点云(3DPC 或3D点云)。可以例如基于3DPC中的各点的位置和记录的图像中的相对应特征的位置,针对3DPC中的各点确定自主机器在图像记录期间的位置和取向。位置和取向也可以直接在点云的生成期间恢复。至少所述位置信息可以用于确定作业区域的边界,以用于自主机器在作业区域中的后续导航。在操作期间(例如,处于在线模式期间),视觉机器可记录操作图像并确定自主机器的基于视觉的位置和取向。所述基于视觉的位置可用于更新或校正基于非视觉传感器确定的或估算的位置中的误差。本文描述的各个方面涉及在实现作业区域的适当导航的同时利用有限的计算资源。对记录的图像的处理可以在离线模式期间(例如,当自主机器整夜充电时)发生。所述视觉系统可以以低刷新速率使用,以补充高刷新速率的基于非视觉的导航系统。
虽然在示例中描述为自主割草机,但是这样的配置仅是示例性的,因为本文描述的系统和方法也可应用于其他自主机器,包括例如商业割草产品(例如,用户驱动的乘坐式割草机或绿地割草机)、其他地面作业机器或车辆(例如,碎屑鼓风机/真空吸尘器、曝气机、脱排机、材料撒布机、扫雪机、用于杂草修复的除草机)、以及诸如真空吸尘器和地板擦洗器/清洁器之内的室内作业车辆(例如,可能遇到障碍物的室内作业车辆)、建筑和多用途车辆(例如,挖沟机)、观察车辆和负载运输(包括人和物,例如客运工具和拖运设备)。此外,本文描述的自主机器可以采用各种类型的导航中的一种或几种,例如随机的、修正随机的或特定的路径规划,以执行预期功能。
应注意的是,术语“有”、“包含”、“包括”及其变型在所附说明书和权利要求书中不具有限制性意义,并且以其开放式意义使用,通常表示"包括但不限于"。此外,“一”、“一个”、“该/ 所述”、“至少一个”和“一个或多个”在本文中可互换地使用。此外,诸如“左”、“右”、“前”、“前部”、“向前”、“后”、“后部”、“向后”、“顶部”、“底部”、“侧面”、“上”、“下”、“上方”、“下方”、“水平”、“竖直”等的相对术语可以在本文中被使用,并且如果使用的话,这些术语来自特定图中所示的视角,或者是当机器100处于操作配置时(例如,如图1中所示,当车辆100被被放置成车轮106和108落在大体水平的地面 103上时)。然而,这些术语仅用于简化描述,而不是限制对所描述的任何实施例的解释。
如本文所使用的,术语“确定”和“估算”可以根据其使用的特定上下文而互换地使用,例如,以确定或估算割草机100的位置或姿态或特征。
虽然实际地面维护机器的构造不一定是对本公开理解的核心,但图1中示出了草坪割草系统(为了便于描述,示意性地示出割草机100)的自主地面维护机器(例如,自主操作车辆,诸如自主草坪割草机100)的一个实例。如该视图中所示,割草机100可以包括壳体102(例如,带有护罩的机架或底盘),该壳体102承载和/或围住如下所述的割草机的各种部件。割草机100还可以包括诸如车轮、辊轴或履带的地面支撑部件。在示例性实施例中,所示的地面支撑部件包括一个或多个后轮106以及一个或多个前轮108,其将壳体 102支撑在地面(草地)103上。如图所示,前轮108用于支撑割草机壳体102的前端部分134,而后轮106用于支撑割草机壳体的后端部分136。
后轮106中的一个或两个可以由推进系统(例如,包括一个或多个电动轮电机104)驱动,以将割草机100在地面103上面推进。在一些实施例中,前轮108可以相对于壳体102(例如,围绕竖直轴线)自由转动。在这样的构造中,可以借助两个后轮106的差速旋转,以类似于常规零转弯半径(ZTR)的乘坐式割草机的方式,来控制割草机的方向。也就是说,推进系统可以包括用于每一个左后轮和右后轮106的单独车轮电机104,使得可以独立地控制每个后轮的速度和方向。另外地或作为替代方案,前轮108可以是能通过推进系统(例如,包括一个或多个转向电机105)主动转向的,以辅助控制割草机100的方向,和/或可以由推进系统驱动(即,以提供前轮驱动或全轮驱动的割草机)。
机具(例如,割草元件,诸如刀片110)可以联接至由壳体102 承载的切割电机112(例如,机具电机)。当电机112和104通电时,割草机100可以在地面103上推进,使得割草机所经过的植被(例如,草地)被刀片110切割。虽然在本文中示出为仅使用单个刀片 110和/或电机112,但是在本公开范围内,可设想到包含由单个或多个电机提供动力的多个刀片的割草机。此外,虽然在本文中在一个或多个常规“刀片”的背景下进行了描述,但是在不脱离本公开范围的情况下,其他切割元件当然也是可以的,包括例如圆盘、尼龙绳或线元件、刀、切割卷筒等。更进一步地,还可以设想到将各种切割元件组合的实施例,例如,旋转刀片与边缘安装的绳式修剪机。
割草机100还可以包括动力源,在一个实施例中,动力源是具有锂基化学成分(例如,锂离子)的电池114。在不脱离本公开范围的情况下,其他实施例可以利用其他化学成分的电池,或者完全利用其他动力源技术(例如,太阳能、燃料电池、内燃机)。还应注意的是,虽然示出为使用独立的刀片和多个车轮电机,但是这样的构造仅是示例性的,因为还可以设想到由单个机具电机提供刀片和车轮动力的实施例。
割草机100可以还包括一个或多个传感器以提供位置数据。例如,一些实施例可以包括全球定位系统(GPS)接收器116(或可以提供相似数据的其他位置传感器),全球定位系统(GPS)接收器 116适于估算割草机100在作业区域内的位置并将这样的信息提供至控制器120(说明如下)。在其他实施例中,车轮106、108中的一个或多个可以包括编码器118,编码器118提供可用于估算在给定作业区域内的割草机位置(例如,基于初始起始位置)的车轮的旋转/ 速度信息。割草机100可以还包括传感器115,传感器115适于检测边界丝线,其可与本文所述的其他导航技术一起使用。
割草机100可以包含一个或多个前障碍物检测传感器130和一个或多个后障碍物检测传感器132,以及其它传感器,例如侧面障碍物检测传感器(未示出)。障碍物检测传感器130、132可以用于当割草机100分别沿向前或反向方向行进时检测割草机100的路径中的障碍物。割草机100能够在沿任一方向移动的同时进行割草。如图所示,传感器130、132可以分别位于割草机100的前端部分134 和后端部分136。
传感器130、132可以使用接触式感测、非接触式感测或两种类型的感测。例如,取决于割草机100的状态(例如,在分区内或者在分区之间行进),可以同时启用接触式感测和非接触式感测,或者可以仅使用一种类型的感测。接触式感测的一个实例包括使用从壳体102突出的接触缓冲器,或壳体本身,接触缓冲器和壳体可以检测割草机100何时接触到障碍物。非接触式传感器有时可以在与障碍物接触之前离割草机100一定距离处使用声波或光波来检测障碍物(例如,使用红外、无线电检测和里程计(雷达)、光检测和测距(激光雷达)等等)。
割草机100可包括一个或多个基于视觉的传感器,以提供定位数据,例如位置、取向或速度。基于视觉的传感器可以包括一个或多个相机133,其捕获或记录图像以供视觉系统使用。相机133可描述为割草机100的视觉系统的一部分。图像的类型包括例如训练图像和/或操作图像。
一个或多个相机能够检测可见光、不可见光或两者。一个或多个相机可以建立围绕自主机器(例如,割草机100)的至少30度、至少45度、至少60度、至少90度、至少120度、至少180度、至少270度、或甚至至少360度的总视野。视野可以在水平方向、竖直方向或这两个方向上被定义。例如,总的水平视野可以是360度,总的竖直视野可以是45度。视野可以捕获在一个或多个相机的高度上方和下方的图像数据。
在一些实施例中,割草机100包括四个相机133。一个相机133 可以定位在包括向前方向、向后方向、第一侧向方向和第二侧向方向(例如,相对于割草机100的基本方向)的一个或多个方向中的每一个方向上。一个或多个相机方向可以被定位成与一个或多个其他相机133正交或者被定位成与至少一个其他相机133相反。照相机133也可以偏离这些方向中的任何一个(例如,以45度或其它非直角)。
可以沿着路径引导割草机100,例如,使用手柄组件90以手动方式引导。具体地说,割草机100的手动方向可以在训练模式期间使用,以学习作业区域或与作业区域相关联的边界。手柄组件90可从割草机100的后端部136向外和向上延伸。
定位在向前方向上的相机133可具有表示自主机器姿态的姿态。相机的姿态可以是六自由度姿态,其可以包括三维空间的所有位置和取向参数(参见与图6相关的描述)。在一些实施例中,相机的位置和取向可相对于割草机100的几何中心或相对于割草机100 边界中的一个来限定。
割草机100的传感器也可描述为基于视觉的传感器和基于非视觉的传感器。基于视觉的传感器可以包括能够记录图像的相机133。图像可以被处理并用于构建3DPC或用于光学测距(例如,光学编码)。基于非视觉的传感器(非视觉传感器)可以包括除相机133 以外的任何传感器。例如,使用光学(例如,光电二极管)、磁性或电容感应检测车轮转数的车轮编码器可以描述为不使用相机的非视觉传感器。来自车轮编码器的车轮编码数据也可以描述为测距数据。在一些实施例中,非视觉传感器不包括边界丝线检测器。在一些实施例中,非视觉传感器不包括从外部系统接收信号,例如从GPS 卫星或其它收发器。
可以通过拍摄一系列或一连串图像并比较图像中的特征以确定或估算图像之间行进的距离来使用光学编码。光学编码可能比用于确定距离或速度的车轮编码器更不易受车轮打滑的影响。
除了上述传感器之外,现在已知的或以后开发的其它传感器也可结合到割草机100中。
割草机100还可以包括适于监视和控制各种割草机功能的控制器120。控制器120可以包括处理器122,处理器122接收各种输入并执行存储在存储器124中的一个或多个计算机程序或应用。存储器124可以包括计算机可读指令或应用,当例如由处理器122执行时,所述计算机可读指令或应用使得控制器120执行各种计算和/或发出命令。也就是说,处理器122和存储器124可以一起限定可操作用于处理输入数据并生成输出到一个或多个部件/设备的期望输出的计算设备。例如,处理器122可以从GPS接收器116和/或编码器 118接收包括位置数据在内的各种输入数据,并且生成对一个或多个车轮电机104的速度和转向角度命令,以使驱动轮106旋转(以相同或不同的速度以及沿相同或不同的方向)。换言之,控制器120 可以控制割草机100的转向角度和速度以及切割刀片的速度和操作。
通常,基于来自GPS接收器116(图1)的数据而生成的GPS 数据可以通过各种方式使用,以便于确定割草机100的姿态。在一些实施例中,GPS数据可用作其中一个非视觉传感器以帮助确定基于非视觉的姿态数据。可使用基于视觉的姿态数据来更新或校正基于非视觉的姿态数据。GPS数据还可用于帮助更新或校正估算的姿态,估算的姿态可以基于非视觉的姿态数据及/或基于视觉的姿态数据为基础。在一些实施例中,GPS数据可以使用GPS特定的校正数据例如实时运动学(RTK)数据来增强。与标称GPS数据相比, GPS-RTK数据可提供更准确或更精确的位置来校正GPS定时异常。
在此可以参考各种参数、数据或数据结构,参数、数据或数据结构可以在控制器120中处理,例如通过由处理器122处理或者存储在存储器124中或在存储器124进行检索。
控制器120可以在各种不同的系统中使用处理器122和存储器 124。具体地说,一个或多个处理器122和存储器124可以包括在每个不同的系统中。在一些实施例中,控制器120可至少部分地限定视觉系统,视觉系统可包括处理器122和存储器124。控制器120还可以至少部分地限定导航系统,导航系统可以包括与视觉系统的处理器122和存储器124分离的处理器122和存储器124。
每个系统也可描述为具有其自己的控制器120。例如,视觉系统可描述为包括一个控制器120,导航系统可描述为具有另一个控制器120。这样,割草机100可描述为具有多个控制器120。通常,如本文所使用的,术语“控制器”可以用于描述“系统”的部件,其提供控制系统的各种其他部件的命令。
此外,割草机100可以与单独的设备操作地通信,例如智能手机或远程计算机。可以使用智能电话或远程计算机等的应用程序来识别或限定问题区域或障碍。例如,用户可以在割草区域的地图上识别问题区域或障碍物。障碍物的一个示例是永久性障碍物,例如巨石。割草机100可从单独的设备接收识别出的问题区域或障碍物。在这种情况下,割草机100可配置为在接收识别出的问题区域的情况下,在通过问题区域时仅在特定方向上割草,或者割草机可配置为在接收到识别出的障碍物的情况下,采取主动规避策略以避免在穿越斜坡时撞到障碍物中,并且可在永久性障碍物周围建立排除区。
鉴于以上内容,控制器120的功能可以以本领域技术人员已知的任何方式来实现,这将是显而易见的。例如,存储器124可以包括任何易失性、非易失性、磁性、光学和/或电性的介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性RAM(NVRAM)、电可擦可编程ROM(EEPROM)、闪存和/或任何其他数字介质。虽然示出为存储器124和处理器122都被包含到控制器120中,但是两者可以被包含在分离的模块中。
处理器122可以包括以下各项中的任何一个或多个:微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或等效的离散或集成逻辑电路。在一些实施例中,处理器122可以包括多个部件,诸如一个或多个微处理器、一个或多个控制器、一个或多个DSP、一个或多个ASIC和/或一个或多个FPGA以及其他离散或集成逻辑电路的任何组合。本文中属于控制器120和/或处理器122的功能可以实现为软件、固件、硬件或它们的任何组合。控制器120的某些功能性也可在云或可操作地连接到处理器122的其他分布式计算系统中执行。
在图1中,整体示出了控制器120与电池114、一个或多个车轮电机104、刀片电机112、可选的边界丝线传感器115、无线电设备117和GPS接收器116之间的示意性连接。上述互连仅是示例性的,因为割草机100的各种子系统可以以几乎任何方式连接,例如,彼此之间直接地、无线地、通过总线架构(例如,控制器局域网(CAN) 总线)或通过准许数据和/或动力在割草机的各种部件之间传递的任何其他连接构造连接。尽管未示出与一些传感器130、132、133的连接,但是割草机100的这些传感器和其他部件可以以类似的方式连接。无线电设备117可以通过蜂窝或其他广域网(例如,甚至通过互联网)、局域网(例如,IEEE802.11“Wi-Fi”设备)或点对点 (P2P)(例如,BLUETOOTHTM)网络与移动设备119(例如,移动计算设备、移动计算机、手持计算设备、智能电话、蜂窝电话、平板电脑、台式机或可穿戴计算机、智能手表等)通信。进而,移动设备119可通过类似的网络与其它装置通信,例如,可用于将割草机100连接到互联网。
在一些实施例中,本文所述的一个或多个控制器120的各种功能可从割草机100卸载。例如,可以使用无线电设备117将记录的图像传输到远程服务器(例如,在云中)并且将图像处理或存储。所存储的图像或经过处理得到的其他数据可以使用无线电设备117 接收,并且存储在割草机100上或由其进一步处理。
图2和图3示出了作业区域200或作业区域200内的围栏区202、 210。可以在作业区域200周围限定或确定边界。割草机100可使用各种方法覆盖作业区域200(例如,穿越或遍历作业区域以在该作业区域割草)。在一些实施例中,割草机100可随机、半随机或沿计划的路径在作业区域200内穿越。在一些实施例中,根据用于覆盖作业区域200的方法,可以在作业区域200的边界内限定围绕围栏区202、210的其它边界。例如,围栏区202、210可以是行进围栏区或静态围栏区。
图2A中示出了通过割草机使用多个分区202、210(例如,围栏区)覆盖作业区域200的一个示例。作业区域200可以表示室外区域或维护区域,例如草坪。割草机100可以被操作以沿着多个路径行进通过作业区域200,以充分地切割所有作业区域200内的草。割草机100可根据需要重新充电,例如,当在分区202、210之间转移时。重新充电底座或基座(类似于图3中的258)可位于作业区域 200内或沿作业区域200设置。
边界可以用于限定作业区域200。可以使用割草机100的训练模式手动地或自主地限定边界。另外,也可以使用固定财产边界或其他类型的边界来限定一些边界。在一些实施例中,可通过沿着作业区域200,具体地说,沿着作业区域200的期望边界路径250引导割草机100来限定边界。
可以为了不同目的相对于作业区域200限定边界。例如,边界可以用于限定围栏区,诸如分区202、分区210或作业区域200。通常,可引导割草机100在围栏区的边界内行进一段时间。另一边界可用于限定排除区。排除区可以表示作业区域200中割草机100避开或在周边行进的区域。例如,排除区可以包含障碍物(例如景观花园)或问题区域(例如陡坡)。另一边界可用于限定转移区,其也可描述为转移路径。通常,转移区是连接两个区域的分区,例如连接不同围栏区的路径。还可以在作业区域中的点与“原(Home)”位置或基座之间限定转移区。在转移区中可以执行或不执行维护任务。例如,割草机100可以不在转移区中割草。在涉及庭院被车道分开的示例中,转移区可以包括整个车道,或至少包括横跨车道的路径,该车道位于割草机100所穿越(遍历)草坪的两块草地之间。
可以将作业区域200绘制为地形图的形式。例如,可以在割草机的示教模式期间或在后续的割草操作期间开发地形图。无论如何,地形图可以包含关于作业区域200地形的信息,例如,海拔、坡度、识别出的障碍物(例如,永久性障碍物)、识别出的卡住区域(例如,割草机由于坡度或其他牵引条件而被卡住的区域)或其他可以促进割草机100穿越作业区域能力的信息。
仅出于说明性目的示出坐标系204。存储在地形图中的点的分辨率可以足以提供关于作业区域200中的地形的有用的海拔和/或坡度信息(例如,英尺或分米级)。例如,点的分辨率可以与小于或等于割草机100宽度的点间间隔相对应。在某些情况下,路径计划的不同功能可以使用不同级别的分辨率。例如,绘制围栏区或排除区地图的路径规划可以具有最高分辨率(例如,厘米级)。换言之,接近、邻近或靠近不规则边界或障碍物,可以具有更细的粒度的点的分辨率。
割草机100可以从例如作业区域的边界开始覆盖作业区域200。割草机100可以确定第一分区202。分区202可以位于邻近作业区域 200的边界,或者如图所示,可以进一步位于作业区域内。在一个实施例中,分区202覆盖整个作业区域200。
在另一个实施例中,分区202不覆盖整个作业区域200。当割草机100完成对分区202的割草时,割草机可以开始对另一分区(例如,分区210,其可以是动态的或固定的)继续割草。
割草机100可以确定第一分区202内的起始坐标或起始点206。例如,起始坐标206可以选自分区202内的最高高程点或分区202 边缘上的某处。如果需要,割草机100可以转动以使其自身从作业区域200边界处的当前位置朝向起始坐标206取向。割草机100可以驱使自身朝着起始坐标206行进。
在到达起始坐标206之后,割草机100可以开始行进穿过分区 202以在该分区内进行割草。如下所述,割草机100可以在分区内使用随机生成的目的地路径点。另外地或在替代方案中,割草机100 可以在分区内使用具有计划路径点的计划模式。这种模式割草可以使用计划的路径点创建来覆盖区域。
当割草机100到达最终目的地路径点208时,割草机完成了在当前分区202内的割草。割草机100可以确定下一分区210(分区 210可以与分区202直接相邻或不直接相邻)和在下一分区内的下一起始点212。割草机100可以自身进行定向并开始向下一起始点212 行进。从分区202中的最终目的地路径点208开始的或朝向下一分区210中的下一起始点212的路径220可以描述为“去向目标”路径(例如,其可以穿越转移区)。
一旦割草机100到达下一起始点212,割草机100就可以开始行进穿过下一分区210。生成围栏区以及对围栏区行进作业的过程可以重复多次,以提供对作业区域200的充分覆盖。
图2B示出了覆盖区域302的一种方法300的俯视图,其示出了用于使割草机100穿过分区的至少一部分的一系列路径。所示的割草机100的路径可适用于,例如,当边界在作业区域200(图2A) 的边界内限定了围绕分区302的围栏区时,割草机100的操作。
在所示的实施例中,割草机100从起始点304行进至目的地路径点306。在到达目的地路径点306之后,割草机100可以确定第二目的地路径点308,转动X1度,并且朝着第二目的地路径点行进。该转动和行进的顺序可以继续,以到达第三目的地路径点310、第四目的地路径点312和最终目的地路径点314(例如,分别通过转动 X2度、X3度和X4度)。尽管在该图示中仅示出了几个目的地路径点306、308、310、312、314,但是割草机100可以行进至更多的路径点,以便充分地覆盖分区302。在一些实施例中,割草机100可以选择可用于转动并使其自身朝向下一目的地路径点的最小角度(例如,逆时针转动90度而不是顺时针转动270度)。
图3中示出了作业区域251的一个示例,作业区域251包括延伸横穿排除区254的转移区252或转移路径,例如车道。作业区域 251的割草区或静态围栏区256可以位于车道的两侧上,但是没有割草区连接这两侧。为了训练经过区域252,割草机100可首先置于期望的起点(参见图3中割草机100实线表示的部分)。手柄组件90 (图1)可以处于手动模式位置。然后,可以使用移动设备119(图 1)启动训练阶段或模式。一旦启动,割草机100可沿着期望的转移区252被推动或驱动。一旦穿越了期望的路径(参见图3中的虚线割草机100),操作者可以结束训练期并保存转移区。在自主割草机操作期间,割草机100将使用限定的转移区252仅从车道或排除区 254的一侧横穿到另一侧。可以在任何一个排除区中训练多个横穿的转移区。
一旦示教了所有边界(包含排除区)及转移区,便可在移动设备119上向用户呈现作业区域的地图,以使操作者可确认所有边界(包括排除区)以及转移区域均得到适当的计算。然后,操作者可以在自主割草操作能够开始之前确认边界和转移区被适当地呈现。在一些实施例中,操作者可以能够在此检查期间使用移动设备删除及/或修改边界及转移区。
转移区可用于限定割草机100如何从作业区域的一部分到达另一部分(或到达单独的第二作业区域)。例如,转移区可以被配置为引导割草机:去特定的割草区域;横穿排除区,例如使作业区域分叉的人行道、庭院或车道;或者通过带有围栏院子的大门。割草机通常不会进入排除区,除非转移区被训练为通过排除区。此外,割草机在沿着转移区中的一部分移动时可以不进行割草。
不是所有的排除区都可以包括转移区。例如,一些排除区可以限定在割草机100不能穿越的障碍物周围。可不限定横穿这种排除区的转移区。
基座258可以设置和定位在作业区域251中或其附近。基座258 可以连接到固定的或便携式的电源。基座258在割草机不运转时为割草机提供存储位置,并且还包括自接合电连接,以允许割草机自主返回到基座258,并且在需要时为割草机的电池114(图1)充电。
图4中示出了可由割草机100(图1-3)限定的各种系统之间的示意性连接。视觉系统402可以可操作地联接到导航系统404。导航系统404可以可操作地联接到推进系统406。
导航系统404可以在训练模式期间记录基于非视觉的数据,同时视觉系统402记录图像,例如训练图像。尽管割草机100可由用户手动地操控,但在一些实施例中,导航系统404可在训练模式期间自主地引导机器。视觉系统402可以包括一个或多个相机以记录或捕获图像。在一些实施例中,视觉系统402的控制器可以基于记录的图像向导航系统404提供位置和/或取向数据,这可以便于割草机100的导航。例如,视觉系统402可基于视觉传感器数据向导航系统404提供割草机100的估算位置和/或取向。
在一些实施例中,导航系统404可主要使用基于非视觉传感器数据的位置和/或取向来进行导航。例如,非视觉传感器数据可以基于来自惯性测量单元或车轮编码器的输出。在训练模式和/或离线模式期间,例如,导航系统404的控制器可以使用非视觉传感器数据和基于视觉的数据来确定边界,以用于自主机器在作业区域中的后续导航。在在线模式期间,例如,导航系统404的控制器可基于视觉姿态数据、非视觉姿态数据或两者来确定姿态。在一些实施例中,可基于非视觉传感器数据确定姿态且基于视觉姿态数据更新姿态。导航系统404可以将基于视觉的位置和/或取向与基于非视觉的位置和/或取向进行比较,以校正误差并更新位置,这可以描述为传感器融合。在一些实施例中,可使用除基于视觉的传感器数据以外的传感器数据(例如GPS数据)来校正误差并更新位置。
导航系统404的控制器可基于更新的姿态,命令推进系统406。例如,校正或更新的位置和/或取向可由导航系统404使用,以向推进系统406提供推进指令。推进系统406(例如,推进硬件)可以限定为包括例如电机112、104和车轮106、108(图1)和/或任何相关的驱动器(例如,电机控制器或微芯片)。
图5中示出了割草机100(图1-3)可使用的示意性模式或状态。如图所示,割草机100可配置为处于训练模式412、离线模式414和在线模式416。割草机100可在各种模式之间切换,这些模式也可描述为配置或状态。割草机100的一些功能可以在某些模式期间使用,例如,以便最佳地利用计算资源。
如本文所使用的,术语“训练模式”是指用于记录数据以供自主机器在作业区域中的稍后或后续导航的自主机器(例如,割草机 100)的例程或状态。在训练模式期间,机器可以在不执行维护功能的情况下穿越作业区域。例如,自主草坪割草机的训练模式可以包括引导割草机沿着某一部分或全部作业区域(例如,沿着期望的边界路径)或作业区域内的分区(例如,围栏区或排除区)来回移动,并且在该分区或作业区域中可以使用或不使用割草刀片。在一些情况下,在训练模式,可使用手柄(例如,图1的手柄组件90)手动地引导割草机。在其他情况下,割草机可以由导航系统自主地引导。
如本文所使用的,术语“离线模式”是指用于对便携式电源充电或处理在在线模式或训练模式期间记录数据的自主机器(例如,割草机100)的例程或状态。例如,自主草坪割草机的离线模式可包括将割草机整夜地停靠在充电站中,并处理在训练模式或在线模式期间记录的数据。
如本文所使用的,术语“在线模式”是指用于在作业区域中操作的自主机器(例如,割草机100)的例程或状态,其可以包括穿越作业区域并使用维护工具执行维护功能。例如,自主草坪割草机的在线模式可以包括引导割草机覆盖或穿越作业区域,或作业区域内分区,并且在分区或作业区域中使用割草刀片来割草。
通常,割草机100可在例如训练模式412和/或在线模式416期间与移动设备119(图1)交互。
在一些实施例中,当用户在训练模式期间手动地引导割草机100 时,移动设备119可以用于提供训练速度反馈。反馈可以使用例如颜色编码的仪表板来指示用户在训练期间是否过快地移动自主机器。
在一些实施例中,移动设备119可以用于通知用户所获取的图像不足的作业区域中的某些区域、分区或部分。例如,可以检测到某个区域中的错误,移动设备119可以通知用户该区域在哪里,并且甚至可以引导用户沿着路径记录附加图像以校正检测到的错误。
在一些实施例中,移动设备119可以用于选择用于训练的边界或分区的类型:围栏区、排除区或转移区。
在一些实施例中,移动设备119可以用于提供实时的分区形状反馈。分区形状可以与真实世界的比例和方向相关联,也可以不与真实世界的比例和方向相关联。例如,基于传感器数据的地图可用于向移动设备119提供分区形状反馈。
割草机可以经由在移动设备上运行的应用程序或经由提供给移动设备的周期性通知(例如,文本消息)来提供完成时间估算。
图6中示出了自主机器(例如,图1至图3的割草机100)的各种系统的示意性视图。传感器420可操作地联接到导航系统404,以提供例如在在线模式期间使用的各种传感器数据。视觉系统402 (例如,视觉控制器)和导航系统404(例如,导航控制器)均可包括各自的处理器和存储器。导航系统404的各种模块被示出为实现自主机器导航的各种功能。导航系统404可以可操作地联接到平台 460,以控制自主机器的物理动作。
传感器420可包括与导航系统404、视觉系统402或两者相关联的传感器。导航系统404和视觉系统402均可包括相同类型的传感器。例如,系统402、404可均包括惯性测量单元(IMU)。
如本文所使用的,术语“平台”是指支撑传感器420和导航系统404的割草机(例如,图1-图3的割草机100)的结构。例如,平台460可包括推进系统406(例如,电机和车轮)、壳体102(图1)、切割电机112(图1)和维护工具110(图1)以及其它可能的部件。在一些实施例中,整个自主机器可以描述为在平台460上。
在所示的实施例中,传感器420包括视觉系统402和非视觉传感器422。来自传感器420的传感器数据可以提供给传感器融合模块 430。具体地说,视觉系统402可将含有位置及取向参数的估算的视觉姿态提供给传感器融合模块430。非视觉传感器422可以包括例如IMU和/或车轮编码器。传感器融合模块430可以基于来自传感器420 的传感器数据来提供自主机器的估算姿态。具体地说,传感器融合模块430可基于来自非视觉传感器422的数据估算非视觉姿态,所述非视觉姿态可使用基于视觉系统402的视觉传感器数据确定的视觉姿态估算来校正或更新。
如本文所使用的,术语“姿态”指位置和取向。姿态可以是六自由度姿态(6DOF姿态),其可包括三维空间的所有位置和取向参数。姿态数据可包括三维位置和三维取向。例如,所述位置可以包括从以下各项中选择的至少一个位置参数:x轴坐标、y轴坐标和z 轴坐标(例如,使用笛卡尔坐标系)。可以使用任何适当的角度取向表示。角度取向表示的非限制性示例包括偏转(yaw),表示,俯仰(pitch)表示和滚转(roll)表示,罗德里格斯表示,四元数表示和方向余弦矩阵(DCM)表示,这些表示可单独或组合使用。在一个示例中,取向可以包括选自偏转(yaw)(例如,竖直z轴取向)、间距(pitch)(例如,横向y轴取向)和滚转(roll)(例如,纵向 x轴取向)的至少一个取向参数。
路径规划模块440可以从传感器融合模块430接收自主机器的估算姿态,并且使用估算姿态以用于自主导航。路径规划模块440 可以接收其他信息或数据,以便于导航。障碍物检测模块432可基于来自传感器420的传感器数据提供关于作业区域中障碍物的存在和障碍物的位置的信息。导航系统404还可以限定和更新至少一个作业区域的地图434或导航地图。地图434可以限定或更新以限定一个或多个围栏区、排除区、转移区和割草历史。上述内容的每一个可以提供给路径规划模块440以便于导航。割草历史还可以提供给调度管理模块436。调度管理模块436可以用于向路径规划模块 440通知关于自主机器的各种任务,诸如何时在一周时间内开始对作业区域割草。此外,路径规划模块440可以执行全局路径规划(例如,确定作业区域内的分区)和局部路径规划(例如,确定路径点或起始点)两者。
推进控制器450可以接收来自路径规划模块440、传感器融合模块430和传感器420的数据,推进控制器450可以使用接收的数据向推进系统406提供推进命令。例如,推进控制器450可以基于来自传感器420的数据确定速度或牵引级别。路径规划模块440可以向推进控制器450提供一个或多个路径点或起始点,一个或多个路径点或起始点可以用于穿越某一部分或全部作业区域。传感器融合模块430可以用于向推进控制器450提供自主机器的速率或速度数据、加速度、位置和取向。推进控制器450还可以确定自主机器是否正穿越由路径规划模块440确定的路径,并且可以相应地便于校正机器的路径。
与自主机器的维护功能相关的其它信息或数据可以提供给推进控制器450以控制维护工具,维护工具可以诸如用于割草的切割刀片。例如,可以将用于切割刀片电机的电机驱动电流提供给推进控制器450。推进控制器450还可提供维护命令,例如,以控制平台 460上的维护工具。
图7中示出了使用来自传感器420的传感器数据来实现传感器融合模块430的一个示例。可以使用来自各种传感器420的任何适当的传感器数据。如图所示,传感器420包括惯性测量单元470、车轮编码器472和视觉系统402。
来自惯性测量单元470的惯性测量数据可由姿态确定模块474 使用。姿态确定模块474可至少部分地基于惯性测量数据来提供自主机器的估算姿态。具体地说,姿态确定模块474可以提供估算的位置和取向中的至少一个。在一些实施例中,姿态确定模块474甚至可以提供一个或多个速度(例如,速度或速率)。
卡尔曼(Kalman)滤波器482可以用于向姿态确定模块474提供姿态估算数据,姿态确定模块474可以用于提供自主机器的估算姿态。具体地说,卡尔曼滤波器482可以提供估算的变化(delta) 位置、变化(delta)速度和变化(delta)取向中的至少一个。如本文所用的,术语“变化(delta)”是指变量或参数的变化。在一些实施例中,来自卡尔曼滤波器482的输出数据可用于校正基于来自惯性测量单元470的数据估算的姿态中的误差。姿态确定模块474 可在传感器融合输出484中提供校正的或更新的姿态。
卡尔曼滤波器482可以基于来自车轮编码器472和视觉系统402 的输出,接收信息或数据。车轮编码器472可以向卡尔曼滤波器482 提供车轮速度476。视觉系统402可以提供光学测距478和视觉位置校正480。光学测距478可以利用图像并且确定关于自主机器移动的信息,诸如自主机器已经行进的距离。通常,光学测距478可以用于确定位置的变化、取向的变化、线速度、角速度或这些的任何组合。取决于特定的自主机器和应用,可以使用对于本领域普通技术人员来说可用的任何适当的光学测距算法。由视觉系统402提供的视觉位置校正480可包含基于视觉的姿态数据,例如,基于视觉的姿态估算。
姿态确定模块474可以以低刷新率接收或处理来自卡尔曼滤波器482的数据并使用低速率更新。来自惯性测量单元470的数据可以以高刷新率被接收或处理,并且使用比卡尔曼滤波器数据更快的高速率更新。来自传感器融合输出484的输出可以作为输入反馈到卡尔曼滤波器482中以便于卡尔曼滤波器操作。换言之,姿态确定模块474可以以比卡尔曼滤波器482的输出或卡尔曼滤波器输入(车轮速度476、光学测距478或视觉位置校正480)更高的速率提供估算的姿态。例如,视觉位置校正480可以以每分钟一到四次(例如,大约1/10Hz或1/100Hz)量级的各种速率执行,而姿态确定模块 474可以每分钟6000次(例如,大约100Hz)的量级提供姿态。在一些实施例中,较高速率可以是较低速率数量级的一倍、二倍、三倍、四倍、五倍或甚至六倍。
在一些实施例(未示出)中,卡尔曼滤波器482可以包括在姿态确定模块474中。在一些实施例中,卡尔曼滤波器482可以使用高刷新率。
图8中示出了在用于记录数据的训练模式412的一个例子中可由视觉系统(例如图4的视觉系统402)使用的各种数据和数据结构的示意性表示。通常,在训练模式期间,在自主机器沿着作业区域 (例如沿着作业区域的期望边界)被引导的同时记录数据。具体地说,当自主机器沿着作业区域被引导时,可以记录训练图像。
在训练模式期间,来自一个或多个相机(例如,图1的相机133,其可以包括面向前的、面向后的、面向左侧的和面向右侧的相机) 的相机数据502可以作为训练图像提供给数据结构510并存储在数据结构510中。尽管示出了来自四个相机的相机数据502,但是可以使用来自任何数量的相机的数据。相机数据502可以包括可以描述为图像数据或具有时间戳的图像数据的图像。相机数据502可描述为基于视觉的数据。
此外,在训练模式期间,也可以记录基于非视觉的数据(非视觉数据)。在所示实施例中,基于非视觉的数据包括GPS数据504、 IMU数据506和测距数据508(例如,车轮编码器数据)。基于非视觉的数据可以提供给数据结构512并存储在数据结构512中。基于非视觉的数据可以包括具有时间戳的基于非视觉的数据。可以使用基于非视觉的数据的任何组合。在一些实施例中,基于非视觉的数据是可选的,并且可以不被视觉系统使用。
在视觉系统记录数据的同时,自主机器的导航系统可以用于观察和限定围栏区、排除区和转移区的边界。边界可以存储在导航系统中,用于在在线模式期间的后续导航。
图9中示出了在用于处理数据的离线模式414的一个示例中的视觉系统的各种数据、数据结构和模块的示意性表示。离线模式414 可在训练模式412(图5)之后使用。可以将可能已经在训练模式期间作为训练图像存储在数据结构510中的相机数据502提供给特征提取模块520。特征提取模块520可以利用特征提取算法、描述符算法或两者来提取特征数据,该特征数据基于特征提取或描述算法的结果,提供给数据结构528并存储在数据结构528。
如本文所使用的,术语“特征”是指从二维图像中识别的一个或多个点(特别是关键点或兴趣点)得到的二维(2D)数据。可以使用特征检测器算法在图像中识别特征并提取特征。取决于特定的自主机器和应用,可以使用对于本领域普通技术人员来说可用的任何适当的特征检测器算法。在一些实施例中,每个特殊特征仅指图像或3DPC中的一个点或兴趣点。特征可以作为包含相对于图像帧定义的坐标的特征数据进行存储。在一些实施例中,特征数据还可包括应用于特征、与特征相关联或对应于特征的描述符。术语“特征数据”是指表示特征的数据结构,并且可以包括二维位置和多维描述符(例如,二维或三维)。
可以从图像中的各种对象中提取用于识别特征的关键点。在一些实施例中,对象可以是永久性的、临时的或两者。在一些实施例中,对象可以是天然的、人造的或两者。永久性特征的一个示例是房屋的拐角。天然的特征的一个示例是树干的边缘。临时的特征和人造的特征的一些示例包括地面中的树桩和树木上的目标。人造的特征可以被临时放置并用于增加作业区域内的特征密度(例如,以改善3DPC的低质量部分)。人造的特征可以被供电,例如,可以包括可由相机检测的可见光或不可见光的光发射器。人造的特征可以是无动力的,例如,可以包括可由相机检测的可见图案或不可见图案。一些人造的特征可以永久地放置。如本文所使用的,术语“不可见”是指发射或反射人眼不可见的波长的光,但是其可以发射或反射的相机可见的波长,例如自主机器上的红外相机。
如本文所使用的,术语“描述符”是指由描述符算法生成的二维数据。描述符描述了图像的上下文中的特征。在一些实施例中,描述符可以描述图像中的像素值、图像梯度、尺度空间信息或特征附近或周围的其他数据。例如,描述符可以包括特征的取向向量或者可以包括图像斑块。取决于特定的自主机器或应用,可以使用对于本领域普通技术人员来说可用的任何用于提供图像中特征的上下文的适当的描述符算法。描述符可以作为特征数据的一部分进行存储。
本文描述的用于特征检测、描述符、特征匹配或视觉地图构建的技术可以包括或利用算法,诸如尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、取向FAST和旋转短程(ORB)、KAZE、加速KAZE(AKAZE)、线性特征跟踪、相机融合、循环闭合、来自运动的增量结构或其他适当的算法。这样的算法可以例如向下面描述的特征匹配模块522和视觉地图构建模块524提供一个或多个特征和描述符。
特征提取模块520的输出和/或存储在数据结构528中的特征数据可以提供给特征匹配模块522。特征匹配模块522可以利用特征匹配算法来匹配在不同训练图像中识别的特征。不同图像可具有在相同物理关键点周围的不同采光,这可导致相同特征的描述符的一些差异。具有相似性高于阈值的特征可以被确定为相同特征。
取决于特定的自主机器和应用,可以使用对应本领域普通技术人员来说可用的任何适当的特征匹配算法。适当的算法的非限制性示例包括强力算法(Brute-Force)、近似最近邻算法(ANN)和用于近似最近邻算法(FLANN)的快速库(Fast Library)。强力算法可以通过选择一个特征并检查所有其它特征是否匹配来匹配特征。特征匹配模块522可以基于特征匹配算法的结果提供匹配数据并将其存储在数据结构530中。
特征匹配模块522的输出和/或存储在数据结构530中的匹配数据可以提供给视觉地图构建模块524。视觉地图构建模块524可以利用地图构建技术,例如图15所示的方法,来创建3DPC。通常,本文描述的使用基于视觉的传感器生成3DPC的技术可以描述为运动恢复结构(Structure from Motion,SfM)技术或同步定位与建图 (SimultaneousLocalization and Mapping,SLAM)技术,其中的任一技术均可以用于本公开的各种实施例,例如,取决于特定的自主机器和应用。
如本文所使用的,术语“三维点云”、“3D点云”或“3DPC”是表示或包含与从图像提取的特征相对应的三维几何点的数据结构。3DPC可以与诸如姿态的各种属性相关联。在一些实施例中,几何点及姿态可以在也可以在不任意参考系的坐标系统中定义。在一些实施例中,3DPC可以与或可以不与真实世界的比例、取向或两者相关联,例如,直到已经执行地图配准过程。3DPC可以基于特征匹配数据生成。可以基于3DPC生成图表或视觉地图以提供3DPC的人类可见的表示。
在一些实施例中,即使尚未建立来自特征匹配模块522的2D 与2D之间的对应性,视觉地图构建模块524也可以建立3D点与2D 特征之间的对应性。换句话说,视觉地图构建模块524可以不要求在视觉地图构建过程开始之前匹配所有特征。
其它数据可以与3DPC的点相关联。可以与3DPC中的每个点相关联的数据的非限制性示例包括:一个或多个图像、一个或多个描述符、一个或多个姿态、位置不确定性以及一个或多个姿态的姿态不确定性。3DPC和相关联数据可以提供给数据结构532并存储在数据结构532中。
在一些实施例中,相关联的数据可以包括作为姿态数据的由 3DPC中的点确定并与3DPC中的点相关联的一个或多个姿态,所述姿态数据可以在观察到与3DPC相关联的特征时,描述系统的平台或系统的一些其他部件的位置和/或取向。例如,自主机器在图像记录期间的位置和取向可以基于3DPC中的不同点的位置和记录的图像中的对应特征的位置来确定。位置和取向或姿态也可在点云的生成期间直接确定。姿态中表示位置、取向或这两种类型的数据可由导航系统用于边界确定或姿态校正。
可将视觉地图构建模块524的输出和/或3DPC以及存储在数据结构532中的相关联数据,提供给地图配准模块526,所述相关联的数据可包括视觉地图或导航地图中的多个6DOF姿态、3DPC以及多个边界点。可选地,来自数据结构512的诸如GPS数据、IMU数据和测距数据等基于非视觉的数据也可以提供给地图配准模块526。地图配准模块526可以基于配准地图来确定和提供姿态数据,配准地图可以提供给导航系统404并由其使用。在一些实施例中,姿态数据由地图配准模块526提供给导航系统404。所述姿态数据可以为估算的视觉姿态数据。配准地图也可以提供给数据结构534并存储在数据结构534中。
如本文所使用的,术语“配准地图”指的是已经与真实世界比例、真实世界方位或两者联系在一起的3DPC。在一些实施例中,配准地图可以与真实世界的地图或参照系相关联。例如,GPS可以用于将3DPC与真实世界的地图服务相关联,诸如Google MAPSTM。在一些实施例中,当使用本文描述的技术时,当3DPC被配准到真实世界的地图或参考系时,其通常可以被缩放约0.5倍至约2倍。然而,缩放比例通常不限于这些范围。
如本文所使用的,术语“真实世界”是指地球或作业区域的其他现有参考系。非真实世界参考系可描述为任意参考系。
图10中示出了在用于姿态估算的在线模式416的一个示例中视觉系统的各种数据、数据结构和模块的示意性表示。在线模式416 可以在训练模式412之后、离线模式414之后或两者之后使用。可以在操作期间使用相机数据502中的图像数据,以代替捕获用于训练的图像。这样的图像数据可以描述为包括操作图像的操作图像数据。
相机数据502中的操作图像可以提供给特征提取模块520。在离线模式414期间使用的从训练图像中提取特征数据的相同或不同算法可以用于在线模式416中的操作图像上。
来自特征提取模块520的特征数据可以提供给特征匹配模块 522。特征匹配模块522可以使用在离线模式414期间相同或不同算法,以将来自特征提取模块520的特征数据与来自数据结构534的配准地图数据中的特征进行匹配。在一些实施例中,来自数据结构528的特征数据也可用作特征匹配模块522的输入。特征匹配模块 522可使用2D对应性、3D对应性、2D图像位置与3D数据的2D投影之间的对应性、描述符值或这些的任何组合来匹配特征。来自特征匹配模块522的匹配数据可以包括2D或3D对应性,其可以提供给姿态估算模块540。
姿态估算模块540可提供估算的姿态,例如6自由度(6DOF) 姿态,且可描述为基于视觉的姿态。来自姿态估算模块540的基于视觉的姿态数据可以提供给导航系统404、姿态滤波器542、回到特征匹配模块522、或这些的任何组合。
姿态数据可以由特征匹配模块522使用,以基于自主机器的估算姿态以及可能看到这些特征的位置来识别可能在相机数据502中看到的特征。这一信息可以用作特征匹配模块522的一个或多个算法的输入。
姿态滤波器542可使用姿态数据(例如基于先前的估算姿态) 来识别哪些姿态是可能的。来自姿态滤波器542的滤波的姿态数据可提供回特征匹配模块522,以基于滤波的姿态数据和可能看到这些特征的位置来识别可能在相机数据502中看到的特征。这一信息可以用作特征匹配模块522的一个或多个算法的输入。
在一些实施例中,姿态滤波器542可使用来自IMU、车轮编码器或光学编码器(例如,图6-7的传感器420)的信息来对姿态进行滤波。在一些实施例中,姿态滤波器542可描述为使用基于非视觉传感器(例如,包含惯性测量单元的基于惯性的导航系统(或INS)) 的姿态来告知哪些姿态可被滤波。图6的导航系统404可以使用例如在传感器融合模块430中的独立姿态滤波器。可对来自不同姿态滤波器的结果输出或姿态数据进行比较以用于校正任一输出或作为任一输出的冗余校验。
另外,特征匹配模块522可以使用来自数据结构528的可以包括特征和/或描述符的特征数据,以滤除来自特征提取模块520的与在训练模式期间已经提取的任一特征都不相似的特征数据。
图11示出了一系列具有时间戳的图像550、560、570和 3DPC580,以显示视觉地图构建的一个示例。例如,使用特征检测器算法,分别在图像550、560、570中将关键点识别为二维特征552、 562、572。
提取每个特征552、562、572,并且,可以应用描述符算法以生成分别与特征552、562、572相关联的多维描述符554、564、574。描述符554、564、574示出为围绕相应特征552、562、572的圆圈。特征552、562、572和描述符554、564、574可以包括在特征数据中。
在特征匹配期间,可以使用特征匹配算法,基于描述符554、 564、574来确定特征552、562、572足够相似。特征可以在匹配数据中进行匹配。
在视觉地图构建期间,地图构建技术可以应用于特征数据和匹配数据,以识别3DPC580中与特征552、562、572相对应的三维点 582。3DPC580的每个点可以以类似的方式确定。
在图12中,3DPC600示出为具有姿态点602。在图示中,姿态点绘制为看似形成路径的红点,该路径使用白色虚线粗略地画出可见轮廓。该路径可以描述为围绕作业区域边界的路径。对应于特征位置的点绘制为黑点。在视觉地图构建期间,姿态点602可连同对应于特征位置的点一起进行确定。每个姿态点602与用于记录一个图像的相机的估算姿态相对应。每个姿态点602可被包括在提供给导航系统的姿态数据中,姿态数据可用于边界确定或姿态校正。
可以使用姿态点602的线性拟合或曲线拟合来限定边界。也可相对于线性拟合、曲线拟合或姿态点602来限定边界。例如,可以将边界限定为线性拟合、曲线拟合、或姿态点602之外的一英尺。
可以评估3DPC600的质量。质量等级或参数也可以分配给3DPC600的各个部分。用于评估3DPC的质量等级可以基于各种参数,诸如以下参数中的至少一个:重构的姿态的数量、重构的点的数量、重投影误差、点三角测量不确定性和重构的姿态不确定性。
在图13中,3DPC610示出为具有姿态点612和3DPC的低质量部分604。可沿姿态点612表示的路径引导自主机器。路径可以描述为围绕作业区域边界的路径。可以识别或确定3DPC600的一个或多个部分604为低质量部分604。例如,可以确定3DPC的一部分具有低于质量阈值的质量等级。该质量等级可以基于例如与点相关联的不确定性值、与那些点对应的姿态中的不确定性、或点的低密度。例如,在训练模式期间沿着路径引导自主机器时,作业区域的某些区域可能具有对于一个或多个相机识别特征而言非常少的可见关键点(例如,在开放场地附近),或者路径可能很接近障碍物,以至于刚好在障碍物上方或后面的关键点在路径上不可见(例如,栅栏附近,由于竖直视野有限,阻碍了看到在栅栏后或栅栏上方的树)。
可期望提高3DPC的此部分的质量等级。与低质量部分相关联的坐标或点可以提供给导航系统。导航系统可以引导自主机器穿越作业区域以记录附加训练图像,例如沿着与原始期望的边界路径不同的或次要的路径,该原始期望边界路径很可能记录可能在低质量部分中的关键点的附加图像。导航系统可以例如在训练模式或在线模式期间,沿着次要路径引导自主机器。换言之,可以引导自主机器以记录作业区域中与3DPC的低质量部分相关联的区域中的图像,这可以用于改善3DPC的所述部分的质量或"填充"3DPC的所述部分。
图14示出了3DPC620,其表示与3DPC610(图13)相同的作业区域。然而,沿着由姿态点622表示的路径引导自主机器以记录用于生成3DPC620的图像。如图所示,3DPC622不包括低质量部分。该路径可以描述为次要路径。可在姿态点612(图13)表示的边界或原始路径内限定次要路径。次要路径可以描述为沿着作业区域的内部穿越(遍历)。次要路径可以包括通过作业区域的更多转弯或 "Z字形"路径,以通过自主机器上的一个或多个相机捕获更多视点。可以对路径进行任何类型的改变,例如随机的、半随机的或计划的路径改变,以确定次要路径。当由姿态点622表示的次要路径用于填充3DPC620时,由姿态点612表示的原始路径仍可用作限定作业区域的边界。
在一些实施例中,GPS数据(例如,GPS-RTK数据)可以用于帮助导航自主机器通过作业区域中与3DPC的低质量部分相关联的区域。GPS数据可以提供给作为非视觉传感器之一的传感器融合模块。在一个示例中,当自主机器正在穿越与3DPC的低质量部分相关联的区域时,自主机器可以更多地依赖GPS数据。当更多地依赖 GPS数据时,GPS数据可以比基于视觉的数据更重地“加权”。GPS 数据可用于姿态校正或甚至作为传感器融合的主要的非视觉传感器输入。例如,当自主机器正在穿越(遍历)的一块作业区域包含一个或多个可能阻碍GPS接收器116(图1)从GPS卫星接收适当时控信号的障碍物时,自主机器可以比GPS数据更重地对基于视觉的数据“加权”。自主机器还可以在例如当自主机器正在穿越作业区域中不与3DPC的低质量部分相关联的区域时,更重地对基于视觉的数据“加权”。
图15中示出了视觉地图构建模块524使用的视觉地图构建方法的一个示例的流程图。在视觉地图构建的结束664处,3DPC可以存储在数据结构532中。通常,视觉地图构建方法可以采用去除可能混淆各种地图构建算法的无关点。例如,在使用某些地图构建算法来生成3DPC之前,可以从数据中移除与高不确定性值相关联的点或弱匹配。多个6DOF姿态和基于多个6DOF姿态确定的多个边界点可被存储在数据结构532中。
在步骤650中,可以拒绝来自数据结构的匹配数据的弱匹配。具体地说,匹配数据中低于匹配阈值的匹配可以被拒绝并且不用于生成3DPC。弱匹配可以定义为具有相似描述符的两个特征,使得它们使用匹配算法进行匹配。然而,该特征可以在作业区域中的不同位置。对于本领域普通技术人员来说,可用的任何适当算法都可以用于滤除这种弱匹配。一些算法提供相关或比值的反馈。例如,比率测试的结果可以表示良好匹配的概率。阈值可用于确定比率测试的结果是否不满足或超过这种匹配阈值。这些测试中的一个或多个可用于确定匹配是否较弱。在一些实施例中,可以通过分层测试和确定总概率是否不满足或超过匹配阈值来确定弱匹配。
在步骤652中,可以使用基于第一和第二训练图像(例如,任何图像对)的数据对部分3DPC进行初始化。具体地说,可以使用与第一和第二训练图像相对应的特征数据来对部分3DPC进行初始化。特征数据可以包括特征和描述符。训练图像可以选择为在作业区域中在距离或时间上充分地间隔开,这可以被认为是在自主机器穿越作业区域时的替代距离。训练图像也可以被选择为使得在两个图像中都可见的足够数量的特征。在一些实施例中,选择前两个训练图像,使得在训练图像之间共享一个、两个、三个或更多个特征,使得共享特征的数量超过特征的阈值数量,并且训练图像不是紧随后面的记录图像,使得训练图像在距离、时间或图像数量上以某个阈值数量间隔开(例如,在期间记录的一个、两个、三个或更多个图像)。
在步骤654中,选择与部分3DPC具有重叠对应性的第三训练图像。具体地说,可以选择与部分3DPC具有重叠对应性的第三训练图像。
可以选择第三训练图像,以证实基于前两个图像在现有的部分 3DPC中识别出来的点。可以评估重叠对应性以确定第三训练图像是否对现有的部分3DPC具有很强的联系。换言之,可以选择第三训练图像,使得在图像之间共享一些数量超过阈值数量的特征,并且第三训练图像与第一和第二训练图像在某个距离、时间或图像数量上以某个阈值数量间隔开。
通常,如果三个图像中的每一个具有一个或多个共同的点(例如,足够数量的共同的点),则可以在三维空间内匹配这些点。此外,通常来说,可以在这些相同的条件下确定相机的姿态。在步骤 656中,可基于部分3DPC来估算用于拍摄第三图像的相机的姿态。
在步骤658中,可以基于第三训练图像的特征数据和部分3DPC 来确定新的部分3DPC。具体地说,可以使用与第三训练图像相关联的匹配数据和与第一和第二训练图像相关联的匹配数据来估算任何新特征相对于部分3DPC的位置。
在步骤660中,可以对部分3DPC和使用的训练图像使用图形优化器。具体地说,部分3DPC可使用图形优化器来更新,以细化特征或特征子集的估算位置、细化重新获得的相机姿态或相机姿态子集、或细化特征位置和姿态两者。
图形优化器也可以描述为束调整(bundle adjustment),其通常被称为图形优化的特定应用。图形优化器可以基于数学数据科学技术,类似于最小二乘回归法,但是应用于连接更紧密的数据结构。绘制点(map point)可以限定图形,使得3DPC中的点连接至二维图像空间。3D和2D点之间的连接形成了图形的边缘。优化问题可以假设一些信息是不完美的,并且可以假设可以基于所有可用信息来确定或估算图形节点的最可能的位置(例如,3DPC的点坐标和基于视觉的姿态)。换言之,图形优化器识别出所生成的3DPC可以是“有噪声的”,并且基于所有可用信息找到“最佳拟合”3DPC。
如果在步骤662中有附加的未使用的训练图像可用,则在步骤 654中可以选择与部分3DPC具有重叠对应性的附加的未使用的训练图像。在步骤656、658中,可以继续估算每一个附加训练图像中的姿态和位置。在步骤660中,可以继续在特征的估算位置和未使用的训练图像上运行图形优化器。
如果在步骤662中没有未使用的训练图像可用,则部分3DPC 可以表示完整的3DPC。视觉地图构建方法可以在步骤664中结束,并将3DPC和姿态数据存储在数据结构532中。
图16中示出了用于训练的自主机器导航方法700的示意性表示。在步骤702中,在训练模式中,可以沿着作业区域,例如沿着作业区域的期望边界路径引导自主机器。在训练模式中引导自主机器的同时,训练图像可以由自主机器上的视觉系统捕获。可以沿着期望的边界路径手动或自主地引导自主机器。还可以沿着从期望的边界路径偏移(例如预定距离)的路径引导所述机器。
在步骤704中,在离线模式中,可以生成表示作业区域和/或作业区域之外或作业区域周围的区域的3DPC。例如,3DPC还可以包括作业区域的边界之外或者甚至作业区域之外的点(例如,当边界限定在作业区域内时)。可以基于从训练图像提取的包含二维特征的特征数据来生成3DPC。还可以基于与来自不同训练图像的特征数据中的特征相关的匹配数据来生成3DPC。
在步骤706中,可以生成姿态数据并将其与表示自主机器的姿态的3DPC的点相关联。姿态数据可以描述为基于视觉的姿态数据。姿态数据可以包括表示相机或自主机器在训练模式期间的位置的位置和取向。在一些实施例中,姿态数据至少包括表示自主机器在训练模式期间的姿态的三维位置。面向前方的相机的姿态可以用于估算自主机器的位置。
在步骤708中,自主机器的导航系统可用于使用非视觉传感器数据和与3DPC相关联的姿态数据来确定边界。边界可以用于例如在在线模式期间,自主机器在作业区域中的后续导航。可以从例如惯性测量单元中获得非视觉传感器数据。与3DPC相关联的基于视觉的姿态数据可用于估算或校正边界。
图17中示出了用于操作的自主机器导航方法800的示意性表示。在步骤802中,在在线模式中,自主机器的导航系统可以用于基于非视觉传感器数据来确定自主机器的姿态。例如,传感器数据可以基于惯性测量单元的输出。
在步骤804中,自主机器的视觉系统可用于基于所获得的接收到的操作图像和基于从训练图像提取的特征数据而生成的3DPC来确定基于视觉的姿态数据(视觉姿态数据)。可以以独立于非视觉传感器数据的方式确定基于视觉的姿态数据。在一些实施例中,可至少部分地基于来自视觉姿态估算或视觉姿态滤波的反馈,确定基于视觉的姿态数据。
在步骤806中,导航系统可基于视觉姿态数据更新预定姿态。可以以比导航系统更新姿态的速率慢的速率更新视觉姿态数据。也就是说,可在不输入或不校正的情况下,在基于视觉的姿态数据中一次或更多次地确定姿态。
在步骤808中,导航系统可以基于更新的姿态在作业区域的边界内导航自主机器。例如,导航系统可以用于向自主机器的推进系统提供推进命令。
任何适当的技术可以用于训练自主机器,以用于导航。在本文描述的一个或多个实施例中,自主机器的训练方法可以包括一个、两个或更多个不同的阶段。在训练期间,机器还可以在训练模式的不同阶段之间转换到不同模式,例如离线模式。此外,在训练模式的各个阶段开始之前,自主机器可以在开始之前执行电池检查,这可以确保机器能够执行在每个阶段期间所需的任务。
图18示出了在训练方法820中使用的不同阶段的一个示例。具体地说,可以在不同的阶段中训练3DPC和边界,例如,与图16的训练方法700相比,训练方法700可以在单个阶段中训练3DPC和边界。训练方法820可以包括步骤822中的巡视阶段,其中通过在作业区域中引导自主机器来巡视作业区域。在巡视阶段期间可以记录图像和其他传感器数据。
训练方法820还可以包括步骤824中的离线阶段,在其中自主机器在例如离线模式下停靠到基座时生成3DPC。可以使用在巡视阶段期间记录的图像和其他传感器数据来生成点云。
此外,训练方法820可以包括步骤826中的绘制阶段,在其中根据期望的边界在作业区域中引导自主机器。可以手动地引导机器,这可以包括由用户推动或驱动或者远程地控制机器。在巡视阶段期间,可以记录图像和其他传感器数据。例如,传感器融合数据可以用于确定自主机器沿着路径的位置。
一旦边界已经绘制完成,训练方法820就可以包括步骤828中的地图生成阶段,在其中自主机器生成导航地图。步骤828中的地图生成阶段可包括基于在绘制阶段期间记录的传感器融合数据生成导航地图。导航地图可以包括在绘制阶段由用户训练的一些或所有边界。
步骤828中的地图生成阶段可以包括生成在绘制阶段期间自主机器穿越的一条或多条路径的表示。例如,一条或多条路径的表示可以是在用户界面设备上向用户显示的视觉表示。在一些实施例中,用户界面设备可以联接到自主机器以用于巡视阶段或绘制阶段。用户界面设备的一个示例是智能电话,其可以在用户可见的位置物理地停驻或联接到自主机器,或者可以通过无线或有线连接方式可操作地连接到自主机器,以用于机器的远程操作。
在一些实施例中,即使在导航地图已经被测试并且用于自主导航之后,也可以重复训练方法820的一个或多个过程。例如,用户可能希望响应于作业区域中的物理变化(例如,通过向庭院添加花坛来添加排除区)或者经过一段时间偏好的变化来改变一个或多个边界。在这样的实施例中,自主机器可以被配置为重复步骤822中的巡视阶段、步骤824中的离线阶段、步骤826中的绘制阶段和步骤828中的地图生成阶段中的一个或多个。例如,在一些实施例中,如果不需要再更新或再生成3DPC,则可以仅重复步骤826中的绘制阶段和步骤828中的地图生成阶段。
图19示出了可以在总体训练方法820中使用的巡视阶段822的一个示例。巡视阶段822可以包括,在步骤832中将自主机器连接到用户界面设备。巡视阶段822还可以包括指示用户巡视作业区域的各个部分。如图所示,巡视阶段822可以包括,在步骤834中显示对作业区域的边界的用户指令。作业区域的边界可以对应于作业区域的周边,例如作业区域的外周边。这个过程允许用户限定作业区域的范围。
巡视阶段822还可以包括,在步骤836中显示巡视作业区域内部的用户指令。巡视作业区域的内部可以提供可以用于处理的图像,以识别用于构建3DPC的特征。在一个示例中,巡视作业区域的内部可以对应于按照光栅图案引导自主机器,以粗略地覆盖作业区域的各种区域。光栅图案可能不完全覆盖整个作业区域。
巡视阶段822可以包括在步骤838中的巡视期间,例如当在作业区域中引导自主机器时,记录一组图像。可以按照用户指令的引导机器。可以处理记录的一组图像以识别特征。在行进阶段822期间,也可以记录非视觉传感器数据,例如车轮编码器数据或IMU数据。
在一些实施例中,巡视阶段822可以包括巡视边界、巡视内部、或巡视边界和内部两者。例如,仅当在周边的巡视期间记录的图像中识别的特征不足以构建用于自主导航的稳健(robust)3DPC时,才可以请求巡视内部。
在其他实施例中,可以不考虑周边巡视的结果而巡视周边和内部。可以在相同的阶段或不同的阶段中记录边界和内部的多组图像。例如,可以记录两组图像,改两组图像之间没有离线阶段。每组图像可以包括一个或多个自主机器的视觉系统捕获的图像。
图20示出了可以用于执行方法820中的至少一部分的方法870 的一个具体示例。方法870可以包括在步骤824中生成3DPC,该步骤可以在巡视阶段之后执行。在步骤844中,可以分析3DPC并且可以确定出关于3DPC是否包括任何低质量部分。如果一个或多个低质量部分对于基于3DPC的导航来说是不足的或不可接受的,则方法870可以包括执行自主或手动补充训练运行以提高识别出的低质量部分中的特征密度。
在一些情况下,如果3DPC的质量等级不满足质量阈值,则 3DPC可能不足以进行导航。一个、两个或更多低质量部分的存在可能足以确定3DPC的质量等级不足。在一些实施例中,方法870可以包括:即使在存在一个或多个低质量部分的情况下,确定3DPC 足以用于导航。例如,割草机可以使用3DPC的在低质量部分附近的非低质量部分在导航期间进行位置校正或更新。此外,自主机器可以使用在其它训练模式或操作期间的图像来周期性地改进3DPC,而不执行专用的补充训练运行。
方法870可以包括:在步骤846中显示放置标记的用户指令。在一些实施例中,用户指令可以显示在用户的智能电话上。标记或目标可以通过传感器数据来辨别。例如,标记对于视觉系统可以是可见的,并且视觉系统可以识别标记的一个或多个人造的特征以用于生成3DPC。标记可以临时或永久地放置在作业区域中以用于将来的导航。
在步骤848中,可以沿着识别的低质量部分引导自主机器。可以自主地引导所述机器,使用传感器融合以导航作业区域中的非低质量部分,或者由用户手动地引导,手动引导可以通过物理方式或使用远程控制来完成。在步骤850中,当沿着作业区域引导机器时,可以记录一组新的巡视图像以捕获在低质量部分中识别的特征,该特征可以是人造的特征。
在已经记录一组新的巡视图像的情况下,机器可以返回到扩展坞以用于离线模式。在步骤852中,在离线模式期间,方法870可以包括基于一组新的巡视图像重新生成3DPC。如果需要,可以重复补救3DPC的低质量部分的过程。
在一些实施例中,可以重复地或周期性地记录一组新的巡视图像,或者,除了检测低质量部分之外,可以重新生成3DPC。重复记录的一组新的巡视图像可以用于将3DPC和导航地图调整为适应作业区域中的季节变化或其他变化。例如,一组新的巡视图像可以设置为每年记录四次或每个当地季节记录一次。
方法870可以包括在步骤826中的执行过程以在作业区域内限定特定边界。在一些实施例中,可以在确定3DPC对于生成3DPC是可接受的或足够的之后,或者在3DPC的一个或多个低质量部分被补救的情况下,执行限定特定边界。方法870可包括在步骤854中显示引导机器进行边界训练的用户指令。用户可以选择或被指示训练各种类型的边界,例如排除区、转移区或围栏区的边界。可以通过沿着表示这些边界的一条或多条路径引导自主机器,来训练这些边界中的一个或多个。自主机器可以由用户手动地引导,手动引导可以通过物理方式或使用远程控制来完成。
当引导机器时,在步骤856中可记录绘制的图像和其它传感器融合数据。具体地说,机器可以记录传感器融合数据,传感器融合数据可以使用非视觉传感器数据确定位置,该位置可以使用视觉系统数据和3DPC进行定位或校正。具体地说,所述位置可以在3DPC 限定的坐标系中定位。
方法870可以包括在限定边界之前显示机器穿越的一条或多条路径的表示。在一个示例中,在限定相关边界之前,可以在用户界面设备(例如智能电话)上向用户显示机器所穿越的路径的粗略形状。在一些实施例中,在机器穿越每个边界的路径之后,可编译并示出视觉表示,并且用户可在继续训练下一边界之前确认上述表示是可接受的。
可以使用各种技术来编译向用户示出的粗略形状。在一些实施例中,可以基于由传感器融合数据确定的自主机器的原始位置来生成粗略形状。自主机器的车轮的位置可以由传感器融合数据确定并且可以用于限定粗略形状。具体地说,车轮可以用作梯形形状的顶点,所述梯形形状用于“描绘”机器的路径。在一些实施例中,原始位置数据可以经过平滑处理以用于生成表示。
在一个或多个实施例中,与每个路径相关联的视觉表示可以基于相应路径的外周边。例如,用户可以将机器引导至作业区域的角落中并且来回移动机器以使其转向,直到覆盖角落附近的作业区域的边缘为止。代替在视觉表示中示出所有的前后移动,机器路径的外周边示出为粗略形状。
方法870可括在步骤828中(例如,在离线模式中)生成导航地图。导航地图可以限定一个或多个训练边界。导航地图可以与 3DPC分开生成和存储。例如,当传感器融合数据被用于生成边界时,导航地图的坐标系可以在3DPC的坐标系中定位。导航地图可以生成为作业区域的边界的2D或3D表示。导航地图可以在训练模式的地图生成阶段期间或者在离线模式期间生成。在一些实施例中,包括训练边界的导航地图可以经由用户界面设备显示给用户。由于例如使用基于视觉的传感器数据和3DPC进行定位或校正,训练边界对用户而言可能看起来与路径的视觉表示不同。
导航地图可以用于作业区域内的自主机器的操作。在一些实施例中,在生成导航地图之后,方法870可以包括:在步骤862的使用导航地图操作自主机器之前测试导航地图。例如,机器可以自主地穿越路径或训练边界。如果测试成功,则导航地图可以用于在作业区域中机器的自主操作,例如,以在作业区域中执行割草任务。可以根据需要,重新训练或重新限定3DPC或边界。
图21示出了手柄组件90的一个示例。在一些实施例中,托架 900可以附接到手柄组件90的握持部902,并且是手柄组件90的一部分。托架900可以适于以站在或走在壳体后面的操作者可见的方向(当手柄组件处于手动模式位置时)容纳和保持移动设备119(例如,智能电话)。移动设备119可支持与割草机100的无线电设备 117(图1)兼容的通信协议,原因将在下面进一步描述。可替代地,割草机100和托架900可包括用于有线连接(例如,串行、通用串行总线等)至割草机100的控制器120(图1)的装置。无论提供给操作者的控制界面如何,他或她都可以通过与手柄组件90相关联的控件(例如,与移动设备上的虚拟控件)交互来控制和操纵割草机。
为了自主地操作,作业区域的边界被训练并存储在割草机100 中。虽然已知各种边界检测系统,而如下面更详细描述的,根据本公开的实施例的割草机可以通过最初经历训练程序或阶段来确定作业区域的边界。在训练模式中,割草机配置为在手动模式中,其中手柄组件可以处于手动模式位置。
托架900可以在其中容纳移动设备119(例如,智能电话),该移动设备支持与割草机100的无线电设备117兼容的通信协议(有线或无线)。例如,移动设备119可以经由蓝牙无线协议支持短距离无线通信。如下面进一步描述的,控制器120可以与移动设备119 通信,以在割草机的训练模式中呈现各种控制和操作者反馈。
为了进入训练模式,手柄组件90可以(如果还没有就位)首先从第一或自主模式位置展开或移动到第二或手动模式位置。在手柄组件就位之后,移动设备119可以放置在如上所述的托架900中。然后,操作者可以发起移动设备119和控制器120之间的通信。这种启动可包括将移动设备119配对或以其它方式连接到割草机100,使得两个装置可彼此无线通信。虽然在此描述为无线通信(例如,蓝牙),但是替代实施例可以再次提供有线互连。然后操作者可以在移动设备上启动应用专用软件,该软件在训练模式中向操作者呈现状态信息904。该软件还可以允许操作者在训练过程期间经由显示在显示屏908上的虚拟按钮906提供的输入来发出命令。例如,应用程序可以允许操作者发出命令并接收指令,这些命令和指令用于:进入训练模式;开始/停止记录与作业区域、排除区或转移区的边界的穿越有关的数据;以及何时沿着识别出的边界或路径推动或驱动割草机。
当操作者准备启动训练模式时,可以使用手柄组件90将割草机推动到作业区域的周边(或排除区的周边)。此时,可以通过选择显示屏166上呈现的适当训练模式(例如,作业区域或排除区的边界训练模式,或转移区训练模式)开始训练。然后在边界训练模式的情况下,操作者可以开始穿越作业区域的边界。
在边界训练模式期间,割草机100可以在割草机穿越边界时记录与边界相关联的数据。割草机100还可以(通过在移动设备119 上运行的应用软件)在穿越/训练期间向操作者呈现训练模式的各种状态信息(参见例如904)。例如,显示屏908可以在边界记录期间实时绘制割草机的区域坐标。另外,显示屏908可以呈现请求操作者改变(例如,降低)割草机速度的指令。在训练期间将割草机速度保持在阈值以下以确保割草机能够捕获足够的数据,尤其是对于基于视觉的系统可能很重要。
这种与速度相关的指令/反馈可以以文本或图形的方式呈现给操作者。例如,反馈和/或其他状态信息可以被呈现为定量速度指示器(例如,速度计)或与速度相关的图标或对象(例如,改变颜色的图标:可接受的速度为绿色,不可接受的速度为黄色或红色)。在其它实施例中,显示屏908可通过在期望的目标速度旁边示出速度计的读数或示出“向上”或“向下”箭头以指示推荐较快或较慢速度来指示是否需要改变速度。在其他实施例中,显示屏可以在训练模式期间或之后提供简单的“通过/失败”指示或提供听觉指示(经由移动设备119或割草机/控制器)。
图22示出了关于割草机100(图1)的边界训练的示例性方法 920或过程。在一些实施例中,方法920可以是训练模式的绘制阶段的一部分。应当注意,这一过程仅描述了示例性的边界训练方法。应当理解,在方法920之前或之后可能需要进行其他操作,以便允许割草机的自主操作。然而,没有在此具体地描述这些其它操作。操作者可以首先训练作业区域的边界,然后继续训练排除区和转移区。所述方法假设割草机100位于或靠近作业区域的边界处,或者位于或靠近其中一个排除区的边界处。将在训练作业区域的边界的上下文中描述方法920,但是所述方法也将以微小的变化应用于排除区边界或转移区边界或路径。
方法920始于步骤922。一旦割草机100沿着边界放置,则可以在步骤924处启动训练模式或模式。启动训练可以包括展开手柄 (例如,如本文所述的将手柄移动到手动模式位置)、将移动设备 119(图1)放置在托架900(图21)中以及与在移动设备上运行软件交互。一旦启动,操作者可以选择待训练边界是作业区域边界、排除区边界还是转移区边界或路径。
在步骤926中,当割草机穿越边界时,操作者可以例如经由与移动设备119的显示屏166(图21)的交互来命令割草机以记录割草机移动。一旦开始记录,割草机100就可以利用各种传感器(例如,GPS、车轮编码器、视觉系统、激光雷达、雷达等),在割草机 100围绕边界被手动引导、推动或驱动时,记录割草机的行进路径。在一些实施例中,割草机可向后轮106(图1)提供辅助扭矩,以在引导割草机围绕边界时辅助操作者。此外,切割刀片110(图1)在训练模式中可以是启动的也可以是不启动的。当围绕边界引导割草机时,在训练期间启动切割刀片110可以提供割草机的将进行的实际切割路径的反馈。如果允许启动切割刀片110,则切割刀片110可以在训练期间通过显示屏166上呈现的选项来控制。这种操作可能需要使用操作者在场控制(例如,在手柄本身上或在移动设备119 的显示屏166上)。
由于割草机100的切割宽度窄于比壳体102(图1)的宽度,所以壳体102的顶部可包括向操作者指示割草机的切割宽度的视觉标记。当训练模式下的刀片110未被供电时,这种标记对于操作者可能是有益处的。
当推动、引导或驱动割草机围绕边界时,割草机100(例如,经由显示屏166)可以在步骤930中可选地向操作者指示训练状态和 /或训练警报。例如,控制器120可以通过图形或在听觉上建议减慢地面速度以提升数据捕获。
一旦操作者和割草机在步骤932中完成边界穿越(例如,移动稍微超过原始起点),操作者就可以在步骤934中指示(例如,经由移动设备)边界穿越完成。然后控制器120和/或移动设备119可以在步骤936中编译收集到的边界数据以最终创建转移的绘制的作业区域(或排除区或转移区或路径)的边界路径。
在步骤938中,割草机可以提供(经由机载显示屏或经由移动设备119)关于训练过程的状态(例如,边界记录的状态)的反馈。例如,在完成时,割草机100可以通过在步骤938中显示诸如简单的“通过/失败”指示的状态,来在移动设备上提供边界训练成功的指示(例如,数据满足预定的路径标准或多个标准)。可能影响训练成功的路径标准包括确定绘制的边界路径是否限定有界区域(例如,形成封闭或有界区域或形状)。其它路径标准可以包括确定是否存在瓶颈因素。例如,当绘制的作业区域的边界路径在目标或另一绘制的边界路径的阈值距离内时(例如,边界太过接近,以致路径宽度不足以使割草机容易地通过),可能存在瓶颈因素。
在步骤940中,如果的训练成功,则在步骤942中,操作者可以将手柄组件移动到第一或自主模式位置,并且命令割草机100自主地穿越作业区域(和/或排除区或转移区或路径)的训练边界。假设操作者在步骤944中判断出训练路径是可接受的,则所述方法在步骤946中结束。另一方面,如果在步骤940中确定训练不成功,或者操作者在步骤944中发现自主操作是不可接受的,则该方法可以返回到步骤924中,并且重新执行训练(或其一部分)。然后,可以对每个边界(包括排除区)和转移区重复使用该方法。在一些实施例中,在移动设备119上运行的软件可以允许操作者在方法920 期间修改、添加和/或删除某些或全部边界或其一部分。
除了围栏区/排除区训练之外,割草机100还可被训练成在手动模式位置通过手柄组件90来利用一个或多个“返回底座”转移区 (“RTB转移区”)。也就是说,还可以训练割草机100应当使用哪条或哪些路径返回到基座258(图3)。训练RTB转移区可以有助于辅助或加速割草机返回到基座,例如,考虑到复杂的庭院,或者以其他方式允许操作者限制割草机的优选返回路径。可以训练任意数量的RTB转移区。在自主操作期间,割草机100可以引导其自身至最近的RTB转移区,然后在操作完成或割草机电池需要重新充电时沿着该路径到达基座258。当然,为了允许RTB转移区的训练,割草机/控制器还可以允许操作者建立或以其他方式训练基座258的“原(home)”位置。
在自主割草可以发生之前,可以绘制庭院或作业区域的。庭院绘制涉及限定割草区域(例如,工作区边界)、限定所有的排除区、识别基座258的“原”位置,且可选地识别转移区。
图23示出了可以用作基座258(图3)的基座的一个示例。如图所示,基座950包括限定割草机100的存储位置960的壳体952。充电连接器958可暴露于存储位置960,以便连接割草机100进行重新充电。基座950可包括联接到壳体952且可操作地联接到充电连接器958的太阳能电池板956。由太阳能电池板956产生的能量可以用于直接地或间接地对割草机100重新充电。太阳能电池板956可联接到充电连接器958、联接到可选的电池954或联接到两者。在一些实施例中,太阳能电池板956可在白天通过充电连接器958直接对割草机100充电。在一些实施例中,太阳能电池板956可在白天通过对电池954充电来间接地对割草机100充电,电池用于在白天或夜间通过充电连接器958对割草机100充电。
基座950可以可选地联接到外部电源,诸如建筑物电插座。具有太阳能电池板956、电池954或两者的基座950即使在外部电源不可用(例如,由于电损耗)时,仍可以继续运转。
在一些实施例中,基座950未插入到外部电源中并且不向边界丝线供电以便于限定边界。即使当基座950失去来自任何电源(例如,太阳能电池956或电池954)供给的全部电力时(例如,当导航不依赖于由基座950供电的边界丝线时),割草机100也可以继续运转和导航。在其它实施例中,基座950可为边界丝线供电并被插入到外部电源中。
示例性实施例
虽然本公开不限于此,但是通过对以下提供的特定示例性实施例将获得对本公开的各个方面的理解。示例性实施例的各种修改以及本公开的附加实施例在本文中将变得显而易见。
在实施例A1中,一种用于自主机器导航的方法,包括:基于自主机器的一个或多个非视觉传感器捕获的非视觉姿态数据,确定所述自主机器的当前姿态,其中所述姿态表示所述自主机器在一个或多个边界限定的作业区域中的位置和取向中的一者或两者;基于所述自主机器捕获的图像数据,确定视觉姿态数据;以及基于所述视觉姿态数据,更新所述当前姿态以校正或定位所述当前姿态,并且提供所述自主机器在所述作业区域中的更新姿态以用于在所述作业区域中对所述自主机器进行导航。
在实施例A2中,一种方法包括根据实施例A1所述的方法,其中确定所述视觉姿态数据的步骤包括:将所述图像数据与表示所述作业区域的三维点云(3DPC)中的一个或多个点进行匹配。
在实施例A3中,一种方法包括根据实施例A2所述的方法,还包括:使用所述自主机器捕获训练图像数据;基于以下数据生成 3DPC:特征数据,所述特征数据包含从所述训练图像数据中提取的二维特征;以及匹配数据,所述匹配数据使来自所述训练图像数据的不同训练图像的所述特征数据中的特征相关联。
在实施例A4中,一种方法包括根据实施例A3所述的方法,其中生成所述3DPC的步骤还包括:拒绝所述匹配数据中低于匹配阈值的匹配;使用与第一训练图像和第二训练图像相对应的特征数据,对部分3DPC进行初始化;选择与所述部分3DPC具有重叠对应性的第三训练图像;使用所述第三训练图像,估算所述自主机器相对于所述部分3DPC的基于视觉的姿态,所述3DPC使用与所述第三训练图像相关联的匹配数据以及与所述第一训练图像和所述第二训练图像相关联的匹配数据;使用所述第三训练图像,估算任何新特征相对于所述部分3DPC的位置,所述3DPC使用与所述第三训练图像相关联的匹配数据以及与所述第一训练图像和所述第二训练图像相关联的匹配数据;以及在特征的估算位置和使用的训练图像上使用图形优化器更新所述部分3DPC。
在实施例A5中,一种方法包括根据实施例A4所述的方法,还包括:选择与部分3DPC具有重叠对应性的附加的未使用的训练图像,继续估算每个训练图像的姿态和位置。
在实施例A6中,一种方法包括根据实施例A5所述的方法,还包括:在没有可用的未使用的训练图像的情况下,存储所述3DPC。
在实施例A7中,一种方法包括根据实施例A3-A6任一项所述的方法,其中生成所述3DPC,以基于任意参照系限定坐标系中的点。
在实施例A8中,一种方法包括根据实施例A3-A7任一项所述的方法,还包括:记录与所述自主机器穿越所述作业区域的周边和内部中的一者或两者相关联的一组巡视图像,以提供至少部分所述训练图像数据;基于所述训练图像数据的所述一组巡视图像,生成所述3DPC;记录一组绘制图像,以在生成3DPC之后提供至少一部分训练图像数据;以及基于所述一组绘制图像和所述3DPC,确定所述作业区域的所述一个或多个边界。
在实施例A9中,一种方法包括根据实施例A8所述的方法,其中记录所述一组巡视图像的步骤包括:记录与所述自主机器穿越所述作业区域的周边相关联的第一组巡视图像;可选地记录与所述自主机器穿越所述作业区域的周边以内的内部相关联的第二组巡视图像;以及基于所述第一组巡视图像和所述第二组巡视图像,生成所述3DPC。
在实施例A10中,一种方法包括根据实施例A8-A9中任一项所述的方法,还包括:在记录所述一组绘制图像之前,确定所述3DPC 的质量等级是否不满足质量阈值。
在实施例A11中,一种方法包括根据实施例A10所述的方法,还包括:基于以下至少一项来确定所述3DPC的质量等级:重构姿态的数量、重构点的数量、重投影误差、点三角测量不确定性和重构姿态不确定性。
在实施例A12中,一种方法包括根据实施例A10-A11中任一项所述的方法,还包括:在确定所述3DPC的质量等级不满足质量阈值的情况下,在所述作业区域中记录一组新的巡视图像;以及基于所述一组新的巡视图像,重新生成所述3DPC。
在实施例A13中,一种方法包括根据实施例A7-A12中任一项所述的方法,还包括:将所述3DPC的坐标系与导航地图中的真实世界的比例和取向进行配准。
在实施例A14中,一种方法包括根据实施例A13所述的方法,还包括:基于所述导航地图在所述作业区域中自主地操作所述自主机器。
在实施例A15中,一种方法包括根据实施例A13-A14中任一项所述的方法,还包括:在所述作业区域中自主地操作所述自主机器之前,基于所述导航地图通过在所述作业区域内导航所述自主机器测试所述导航地图。
在实施例A16中,一种方法包括根据实施例A3-A15中任一项所述的方法,其中所述3DPC在所述自主机器的离线模式期间生成或重新生成,同时所述3DPC可操作地联接至基座以进行充电。
在实施例A17中,一种方法包括根据实施例A16所述的方法,还包括:在离开所述离线模式之前进行电池检查。
在实施例A18中,一种方法包括根据前述实施例A中任一项所述的方法,还包括:周期性地记录一组新的图像数据。
在实施例A19中,一种方法包括根据前述实施例A中任一项所述的方法,其中:所述作业区域是室外区域;所述自主机器是地面维护机器;或者所述作业区域是草坪,并且所述自主机器是草坪维护机器。
在实施例A20中,一种方法包括根据前述实施例A中任一项所述的方法,其中所述作业区域的所述一个或多个边界用于限定所述作业区域、所述作业区域中的围栏区、所述作业区域中的排除区、或所述作业区域中的转移区中的一个或多个周边。
在实施例A21中,一种方法包括根据前述实施例A中任一项所述的方法,其中每个姿态表示所述自主机器的三维位置和三维取向中的一者或两者。
在实施例A22中,一种方法包括根据前述实施例A中任一项所述的方法,还包括:基于非视觉姿态数据和视觉姿态数据,确定所述作业区域的所述一个或多个边界,以用于所述自主机器在所述作业区域中的后续导航。
在实施例A23中,一种方法包括根据前述实施例A中任一项所述的方法,其中以第一速率重复基于非视觉姿态数据确定所述自主机器的当前姿态的步骤,并且以比所述第一速率慢的第二速率重复所述基于视觉姿态数据更新所述当前姿态的步骤。
在实施例A24中,一种方法包括根据前述实施例A中任一项所述的方法,其中非视觉姿态数据包括惯性测量数据和车轮编码数据中的一者或两者。
在实施例A25中,一种方法包括根据实施例A2-A24中任一项所述的方法,还包括:将3DPC中的点与以下至少一者相关联:一个或多个图像、一个或多个描述符、一个或多个姿态、位置不确定性以及一个或多个姿态的姿态不确定性。
在实施例A26中,一种方法包括根据实施例A2-A25中任一项所述的方法,其中所述特征数据包括二维位置和多维描述符。
在实施例A27中,一种方法包括根据前述实施例A中任一项所述的方法,其中确定视觉姿态数据的步骤至少部分地基于来自视觉姿态估算或视觉姿态滤波的反馈。
在实施例B1中,一种用于自主机器导航训练的方法,包括:
在训练模式的巡视阶段期间,沿着作业区域的周边或作业区域的内部中的至少一者引导所述自主机器,以记录与所述周边相关联的第一组巡视图像或与所述内部相关联的第二组巡视图像;在离线模式期间,基于所述第一组巡视图像和所述第二组巡视图像中的至少一者,生成三维点云(3DPC);以及在训练模式的绘制阶段期间,沿着一条或多条路径引导所述自主机器,以记录传感器融合数据,从而在导航地图中限定所述作业区域的一个或多个边界。
在实施例B2中,一种方法包括根据实施例B1所述的方法,其中在所述训练模式的所述绘制阶段期间,沿着一条或多条路径引导所述自主机器的步骤包括:对基于传感器融合数据限定的所述一个或多个边界中的至少一者进行评估;确定所述至少一个边界是否满足路径准则;以及基于所述至少一个边界是否满足所述路径准则,显示所述绘制阶段的状态。
在实施例B3中,一种方法包括根据前述实施例B2所述的方法,其中显示所述绘制阶段的状态的步骤发生在穿越所述作业区域的所述边界期间。
在实施例B4中,一种方法包括根据实施例B2-B3中任一项所述的方法,其中确定所述至少一个边界是否满足路径标准的步骤包括:确定所述至少一个边界是否限定有界区域。
在实施例B5中,一种方法包括根据前述实施例B中任一项所述的方法,还包括:
将连接到所述自主机器的壳体的手柄组件从第一位置展开到第二位置;以及将包括用户界面的移动计算机放置在与用于所述训练模式的手柄组件连接的托架上。
在实施例B6中,一种方法包括根据实施例B5所述的方法,还包括:使所述手柄组件返回到所述第一位置;以及引导所述自主机器自主地穿越所述作业区域的边界。
在实施例B7中,一种方法包括根据前述实施例B中任一项所述的方法,还包括:在确定所述3DPC的质量等级不满足质量阈值的情况下,引导所述自主机器以记录所述作业区域的一块或多块分区的一组新的巡视图像,所述作业区域的一块或多块分区与所述 3DPC的一个或多个低质量部分相关联;以及在所述离线模式期间基于所述一组新的巡视图像重新生成所述3DPC。
在实施例B8中,一种方法包括根据实施例B7所述的方法,还包括:在引导所述自主机器以记录所述一组新的巡视图像之前,沿着所述作业区域的一块或多块分区部署一个或多个人工特征,所述作业区域的一块或多块分区与所述3DPC的一个或多个低质量部分相关联。
在实施例B9中,一种方法包括根据前述实施例B中任一项所述的方法,还包括:在所述导航地图中限定所述一个或多个边界之前,向用户显示所述一条或多条路径的表示。
在实施例B10中,一种方法包括根据实施例B9所述的方法,其中与每条路径相关联的所述表示基于相应路径的外边界。
在实施例B11中,一种方法包括根据前述实施例B中任一项所述的方法,还包括:将用户界面设备可操作地联接到所述自主机器上,以用于所述巡视阶段或所述绘制阶段。
在实施例B12中,一种方法还包括根据实施例B11所述的方法,还包括:发起所述用户界面设备和与自主机器相关联的电子控制器之间的通信;以及通过与所述用户界面设备的交互进入所述自主机器的所述训练模式。
在实施例B13中,一种方法包括前述实施例B中任一项所述的方法,还包括:向用户显示指令,所述指令用于在所述训练模式的所述巡视阶段或所述绘制阶段,沿着所述作业区域的所述周边、所述内部或所述周边和所述内部手动地引导所述自主机器。
在实施例B14中,一种方法包括根据前述实施例B中任一项所述的方法,其中所述一个或多个边界用于限定所述作业区域、所述作业区域中的限制区、所述作业区域中的排除区或所述作业区域中的转移区的一个或多个周边。
在实施例C1中,一种自主机器,适于执行根据实施例A或B 中任一项所述的方法。
在实施例C2中,一种机器包括根据实施例C1所述的机器,还包括:壳体,所述壳体联接到维护工具;一组车轮,所述一组车轮在地面上支撑所述壳体;推进控制器,所述推进控制器与所述一组车轮可操作地联接;视觉系统,所述视觉系统包括至少一个适于捕获图像数据的相机;以及导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器上,所述导航系统适于在所述作业区域内引导所述自主机器。
在实施例C3中,一种机器包括根据实施例C2所述的机器,其中所述推进控制器适于独立地控制所述车轮的速度和旋转方向,从而控制所述壳体在地面上的速度和方向。
在实施例C4中,一种机器包括根据实施例C2-C3中任一项所述的机器,其中所述至少一个适于捕获图像数据的相机提供围绕所述自主机器的至少90度的总水平视野。
在实施例D1中,一种自主机器导航的方法,包括:基于以下数据生成表示至少一个作业区域的三维点云:特征数据,所述特征数据包含从所述训练图像数据中提取的二维特征,以及匹配数据,所述匹配数据使来自所述不同训练图像的所述特征数据中的特征相关联;生成与所述三维点云的点相关联的姿态数据,所述姿态数据表示自主机器的姿态;以及使用所述姿态数据确定边界,以用于所述自主机器在所述作业区域中的后续导航。
在实施例D2中,一种方法包括根据实施例D1所述的方法,其中确定边界的步骤基于非视觉传感器数据和所述姿态数据。
在实施例D3中,一种方法包括根据前述实施例D中任一项所述的方法,其中姿态数据至少包括在训练模式期间表示自主机器姿态的三维位置。
在实施例E1中,自主机器包括:壳体,所述壳体联接到维护工具;一组车轮,所述一组车轮在地面上支撑所述壳体;推进控制器,所述推进控制器与所述一组车轮可操作地联接,其中所述推进控制器适于独立地控制所述车轮的速度和旋转方向,从而控制所述壳体在地面上的速度和方向;视觉系统,包括至少一个适于记录训练图像的相机和适于以下操作的控制器:基于从所述训练图像提取的包含二维特征的特征数据和来自不同训练图像的所述特征数据中的特征相关的匹配数据,生成表示至少一个作业区域的三维点云;以及生成与所述三维点云的点相关联的姿态数据,所述姿态数据表示自主机器的姿态;和导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器,所述导航系统适于以下操作:在所述作业区域中引导所述自主机器以记录训练图像;以及使用所述非视觉传感器数据和所述姿态数据确定边界,以用于所述自主机器在所述作业区域中的后续导航。
在实施例E2中,自主机器包括:壳体,所述壳体联接到维护工具;一组车轮,所述一组车轮在地面上支撑所述壳体;推进控制器,所述推进控制器与所述一组车轮可操作地联接,其中,所述推进控制器适于独立地控制所述车轮的速度和旋转方向,从而控制所述壳体在地面上的速度和方向;视觉系统,包括至少一个适于记录图像的相机,以及控制器,所述控制器适于基于接收到的操作图像和基于从训练图像提取的特征数据生成的三维点云提供视觉姿态数据;以及导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器,所述导航系统适于:基于所述非视觉传感器数据确定所述姿态;基于所述视觉姿态数据更新所述姿态;以及基于所述更新的姿态命令所述推进控制器。
在实施例E3中,机器包括根据前述实施例E中任一项所述的机器,其中所述非视觉传感器数据包括惯性测量数据和车轮编码数据中的至少一者。
在实施例F1中,一种自主机器包括:壳体,所述壳体联接到维护工具;一组车轮,所述一组车轮在地面上支撑所述壳体方;推进控制器,所述推进控制器与所述一组车轮可操作地联接;视觉系统,包括配置为记录巡视图像的至少一个相机和配置为执行以下操作的控制器:当沿着作业区域的周边或作业区域的内部中的至少一个引导自主机器的情况下,在训练模式的巡视阶段期间,记录与所述作业区域周边相关联的至少一个第一组巡视图像或与所述作业区域内部相关联的第二组巡视图像;在离线模式期间,基于所述第一组巡视图像和所述第二组巡视图像中的至少一者生成三维点云;以及在所述训练模式的绘制阶段期间,在所述自主机器沿着一条或多条路径穿越的时记录所述作业区域的传感器融合数据;和导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器,所述导航系统包括控制器,所述控制器被配置为:基于沿着所述一条或多条路径记录的所述传感器融合数据,确定作业区域的导航地图,所述作业区域的导航地图表示一个或多个边界;以及基于所述导航地图在所述作业区域中引导所述自主机器。
在实施例F2中,一种机器包括根据实施例F1所述的机器,其中,所述推进控制器构造成独立地控制所述一组车轮中的每个车轮的速度和旋转方向,从而控制所述壳体在地面上的速度和方向。
在实施例F3中,一种机器包括根据前述实施例F中任一项所述的机器,其中导航系统的控制器还配置为在导航地图中限定一个或多个边界之前,经由用户界面设备向用户显示一条或多条路径表示。
在实施例F4中,一种机器包括根据前述实施例F中任一项所述的机器,其中视觉系统的控制器还配置为在确定三维点云的质量等级不满足质量阈值的情况下,记录与三维点云的一个或多个低质量部分相关联的作业区域中的一个或多个区域的一组新的巡视图像。
在实施例F5中,一种机器包括根据前述实施例F中任一项所述的机器,其中导航系统的控制器还配置为通过自主机器在作业区域内基于导航地图的自主操作来测试导航地图。
在实施例F6中,一种机器包括根据前述实施例F中任一项所述的机器,其中导航系统的控制器配置为可操作地连接到用户界面设备,以用于巡视阶段或绘制阶段。
因此,本文公开了使用视觉系统的自主机器导航和训练的各种实施例。尽管本文参考了构成本公开的一部分的附图,但是本领域的至少一位普通技术人员会理解,本文描述的实施例的各种修改和变型在本公开的范围内,或者不脱离本公开的范围。例如,本文描述的实施例的方面可以以各种方式彼此组合。因此,应当理解,在所附权利要求的范围内,可以以不同于本文明确描述的方式来实施要求保护的发明。
本文引用的所有参考文献和出版物明确地通过引用并入本公开,除非它们可能直接与本公开相抵触。
除非另有说明,本文所用的所有科学和技术术语具有本领域常用的含义。本文提供的定义是为了便于理解本文频繁使用的某些术语,而不是要限制本公开的范围。
由端点表述的数值范围包括该范围内所包含的所有数值(例如, 1至5包括1、1.5、2、2.75、3、3.80、4和5)以及该范围内的任何范围。在本文中,术语“多达”或“不大于”一个数字(例如,多达50)包括该数字(例如,50),并且术语“不小于”一个数字(例如,不小于5)包括该数字(例如,5)。
术语“联接”或“连接”是指元件彼此直接(彼此直接接触) 或间接(在两个元件之间具有一个或多个元件并附接这两个元件) 附接。任一术语都可以被“操作地”和“可操作地”修饰,这两个术语可以互换使用,以描述“联接”或“连接”配置成允许部件相互作用以执行至少一些功能(例如,推进控制器可操作地联接到电机驱动器以电控制电机的操作)。
提及“一个实施例”、“实施例”、“某些实施例”或“一些实施例”等,这些术语意味着结合实施例描述的特定特征、配置、组成或特性包括在本公开的至少一个实施例中。因此,在全文中的各个位置出现的此类短语不一定是指本公开的同一实施例。此外,特定的特征、构造、组成或特性可以以任何适当的方式组合在一个或多个实施例中。
如本说明书和所附权利要求中所用的,单数形式“一”、“一个”和“所述”涵盖具有复数指代物的实施例,除非明确地另外指出。如本说明书和所附权利要求书中所用的,术语“或”通常以其包括“和/或”的含义使用,除非另外明确指出。
Claims (45)
1.一种用于自主机器导航的方法,包括:
基于自主机器的一个或多个非视觉传感器捕获的非视觉姿态数据,确定所述自主机器的当前姿态,其中所述姿态表示所述自主机器在一个或多个边界限定的作业区域中的位置和取向中的一者或两者;
基于所述自主机器捕获的图像数据,确定视觉姿态数据;以及
基于所述视觉姿态数据,更新所述当前姿态以校正或定位所述当前姿态,并且提供所述自主机器在所述作业区域中的更新姿态以用于在所述作业区域中对所述自主机器进行导航。
2.根据权利要求1所述的方法,其中确定所述视觉姿态数据的步骤包括:将所述图像数据与表示所述作业区域的三维点云(3DPC)中的一个或多个点进行匹配。
3.根据权利要求2所述的方法,还包括:
捕获训练图像数据;
基于以下数据生成3DPC:
特征数据,所述特征数据包含从所述训练图像数据中提取的二维特征;以及
匹配数据,所述匹配数据使来自所述训练图像数据的不同训练图像的所述特征数据中的特征相关联。
4.根据权利要求3所述的方法,其中生成所述3DPC的步骤还包括:
拒绝所述匹配数据中低于匹配阈值的匹配;
使用与第一训练图像和第二训练图像相对应的特征数据,对部分3DPC进行初始化;
选择与所述部分3DPC具有重叠对应性的第三训练图像;
使用所述第三训练图像,估算所述自主机器相对于所述部分3DPC的基于视觉的姿态,所述3DPC使用与所述第三训练图像相关联的匹配数据以及与所述第一训练图像和所述第二训练图像相关联的匹配数据;
使用所述第三训练图像,估算任何新特征相对于所述部分3DPC的位置,所述3DPC使用与所述第三训练图像相关联的匹配数据以及与所述第一训练图像和所述第二训练图像相关联的匹配数据;以及
在特征的估算位置和使用的训练图像上更新所述部分3DPC。
5.根据权利要求4所述的方法,还包括:选择与部分3DPC具有重叠对应性的附加的未使用的训练图像,继续估算每个训练图像的姿态和位置。
6.根据权利要求5所述的方法,还包括:在没有可用的未使用的训练图像的情况下,存储所述3DPC。
7.根据权利要求3-6中任一项所述的方法,其中生成所述3DPC,以基于任意参照系限定坐标系中的点。
8.根据权利要求3-6中任一项所述的方法,还包括:
记录与所述自主机器穿越所述作业区域的周边和内部中的一者或两者相关联的一组巡视图像,以提供至少部分所述训练图像数据;
基于所述训练图像数据的所述一组巡视图像,生成所述3DPC;
记录一组绘制图像,以在生成3DPC之后提供至少一部分训练图像数据;以及
基于所述一组绘制图像和所述3DPC,确定所述作业区域的所述一个或多个边界。
9.根据权利要求8所述的方法,其中记录所述一组巡视图像的步骤包括:
记录与所述自主机器穿越所述作业区域的周边相关联的第一组巡视图像;
可选地记录与所述自主机器穿越所述作业区域的周边以内的内部相关联的第二组巡视图像;以及
基于所述第一组巡视图像和所述第二组巡视图像,生成所述3DPC。
10.根据权利要求8所述的方法,还包括:在记录所述一组绘制图像之前,确定所述3DPC的质量等级是否不满足质量阈值。
11.根据权利要求10所述的方法,还包括:基于以下至少一项来确定所述3DPC的质量等级:重构姿态的数量、重构点的数量、重投影误差、点三角测量不确定性和重构姿态不确定性。
12.根据权利要求10所述的方法,还包括:
在确定所述3DPC的质量等级不满足质量阈值的情况下,在所述作业区域中记录一组新的巡视图像;以及
基于所述一组新的巡视图像,重新生成所述3DPC。
13.根据权利要求7所述的方法,还包括:将所述3DPC的坐标系与导航地图中的真实世界的比例和取向进行配准。
14.根据权利要求13所述的方法,还包括:基于所述导航地图在所述作业区域中自主地操作所述自主机器。
15.根据权利要求13所述的方法,还包括:在所述作业区域中自主地操作所述自主机器之前,基于所述导航地图通过在所述作业区域内导航所述自主机器测试所述导航地图。
16.根据权利要求3-6中的任一项所述的方法,其中所述3DPC在所述自主机器的离线模式期间生成或重新生成,同时所述3DPC可操作地联接至基座以进行充电。
17.根据权利要求16所述的方法,还包括在离开所述离线模式之前进行电池检查。
18.根据权利要求1-6中任一项所述的方法,还包括周期性地记录一组新的图像数据。
19.根据权利要求1-6中任一项所述的方法,其中:
所述作业区域是室外区域;
所述自主机器是地面维护机器;或者
所述作业区域是草坪,并且所述自主机器是草坪维护机器。
20.根据权利要求1-6中任一项所述的方法,其中所述作业区域的所述一个或多个边界用于限定所述作业区域、所述作业区域中的围栏区、所述作业区域中的排除区、或所述作业区域中的转移区中的一个或多个周边。
21.根据权利要求1-6中任一项所述的方法,其中每个姿态表示所述自主机器的三维位置和三维取向中的一者或两者。
22.根据权利要求1-6中任一项所述的方法,还包括:基于非视觉姿态数据和视觉姿态数据,确定所述作业区域的所述一个或多个边界,以用于所述自主机器在所述作业区域中的后续导航。
23.根据权利要求1-6中任一项所述的方法,其中,以第一速率重复基于非视觉姿态数据确定所述自主机器的当前姿态的步骤,并且以比所述第一速率慢的第二速率重复所述基于视觉姿态数据更新所述当前姿态的步骤。
24.根据权利要求1-6中任一项所述的方法,其中非视觉姿态数据包括惯性测量数据和车轮编码数据中的一者或两者。
25.根据权利要求2-6中任一项所述的方法,还包括:将3DPC中的点与以下至少一者相关联:一个或多个图像、一个或多个描述符、一个或多个姿态、位置不确定性以及一个或多个姿态的姿态不确定性。
26.根据权利要求3或4所述的方法,其中所述特征数据包括二维位置和多维描述符。
27.根据权利要求1-6中任一项所述的方法,其中确定视觉姿态数据的步骤至少部分地基于来自视觉姿态估算或视觉姿态滤波的反馈。
28.一种用于自主机器的导航训练的方法,包括:
在训练模式的巡视阶段期间,沿着作业区域的周边或作业区域的内部中的至少一者引导所述自主机器,以记录与所述周边相关联的第一组巡视图像或与所述内部相关联的第二组巡视图像;
在离线模式期间,基于所述第一组巡视图像和所述第二组巡视图像中的至少一者,生成三维点云(3DPC);以及
在训练模式的绘制阶段期间,沿着一条或多条路径引导所述自主机器,以记录传感器融合数据,从而在导航地图中限定所述作业区域的一个或多个边界。
29.根据权利要求28所述的方法,其中在所述训练模式的所述绘制阶段期间,沿着一条或多条路径引导所述自主机器的步骤包括:
对基于传感器融合数据限定的所述一个或多个边界中的至少一者进行评估;
确定所述至少一个边界是否满足路径准则;以及
基于所述至少一个边界是否满足所述路径准则,显示所述绘制阶段的状态。
30.根据权利要求29所述的方法,其中显示所述绘制阶段的状态的步骤发生在穿越所述作业区域的所述边界期间。
31.根据权利要求29所述的方法,其中确定所述至少一个边界是否满足路径标准的步骤包括:确定所述至少一个边界是否限定有界区域。
32.根据权利要求28-31中任一项所述的方法,还包括:
将连接到所述自主机器的壳体的手柄组件从第一位置展开到第二位置;以及
将包括用户界面的移动计算机放置在与用于所述训练模式的手柄组件连接的托架上。
33.根据权利要求32所述的方法,还包括:
使所述手柄组件返回到所述第一位置;以及
引导所述自主机器自主地穿越所述作业区域的所述边界。
34.根据权利要求28-31中任一项所述的方法,还包括:
在确定所述3DPC的质量等级不满足质量阈值的情况下,引导所述自主机器以记录所述作业区域的一块或多块分区的一组新的巡视图像,所述作业区域的一块或多块分区与所述3DPC的一个或多个低质量部分相关联;以及
在所述离线模式期间基于所述一组新的巡视图像重新生成所述3DPC。
35.根据权利要求34所述的方法,还包括:在引导所述自主机器以记录所述一组新的巡视图像之前,沿着所述作业区域的一块或多块分区部署一个或多个人工特征,所述作业区域的一块或多块分区与所述3DPC的一个或多个低质量部分相关联。
36.根据权利要求28-31中任一项所述的方法,还包括:在所述导航地图中限定所述一个或多个边界之前,向用户显示所述一条或多条路径的表示。
37.根据权利要求36所述的方法,其中与每条路径相关联的所述表示基于相应路径的外边界。
38.根据权利要求28-31中任一项所述的方法,还包括:将用户界面设备可操作地联接到所述自主机器上,以用于所述巡视阶段或所述绘制阶段。
39.根据权利要求38所述的方法,还包括:
发起所述用户界面设备和与自主机器相关联的电子控制器之间的通信;以及
通过与所述用户界面设备的交互进入所述自主机器的所述训练模式。
40.根据权利要求28-31中任一项所述的方法,还包括:向用户显示指令,所述指令用于在所述训练模式的所述巡视阶段或所述绘制阶段,沿着所述作业区域的所述周边、所述内部或所述周边和所述内部手动地引导所述自主机器。
41.根据权利要求28-31中任一项所述的方法,其中所述一个或多个边界用于限定所述作业区域、所述作业区域中的限制区、所述作业区域中的排除区或所述作业区域中的转移区的一个或多个周边。
42.一种自主机器,适于执行根据前述方法中的任一项所述的方法。
43.如权利要求42所述的自主机器,还包括:
壳体,所述壳体联接到维护工具;
一组车轮,所述一组车轮在地面上支撑所述壳体;
推进控制器,所述推进控制器与所述一组车轮可操作地联接;
视觉系统,所述视觉系统包括至少一个适于捕获图像数据的相机;以及
导航系统,所述导航系统可操作地联接到所述视觉系统和所述推进控制器上,所述导航系统适于在所述作业区域内引导所述自主机器。
44.根据权利要求43所述的自主机器,其中所述推进控制器适于独立地控制所述车轮的速度和旋转方向,从而控制所述壳体在地面上的速度和方向。
45.根据权利要求43或44所述的自主机器,其中所述至少一个适于捕获图像数据的相机提供围绕所述自主机器的至少90度的总水平视野。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310062340.6A CN115826585A (zh) | 2018-08-08 | 2019-08-07 | 使用视觉系统的自主机器导航和训练 |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862716208P | 2018-08-08 | 2018-08-08 | |
US62/716,208 | 2018-08-08 | ||
US201862716716P | 2018-08-09 | 2018-08-09 | |
US62/716,716 | 2018-08-09 | ||
US201862741988P | 2018-10-05 | 2018-10-05 | |
US62/741,988 | 2018-10-05 | ||
US201962818893P | 2019-03-15 | 2019-03-15 | |
US62/818,893 | 2019-03-15 | ||
PCT/US2019/045443 WO2020033504A2 (en) | 2018-08-08 | 2019-08-07 | Autonomous machine navigation and training using vision system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310062340.6A Division CN115826585A (zh) | 2018-08-08 | 2019-08-07 | 使用视觉系统的自主机器导航和训练 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112584697A CN112584697A (zh) | 2021-03-30 |
CN112584697B true CN112584697B (zh) | 2023-02-17 |
Family
ID=67660495
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310062340.6A Pending CN115826585A (zh) | 2018-08-08 | 2019-08-07 | 使用视觉系统的自主机器导航和训练 |
CN201980050302.0A Withdrawn CN112512300A (zh) | 2018-08-08 | 2019-08-07 | 用于训练自主车辆的手柄和方法及其存放方法 |
CN201980052622.XA Active CN112584697B (zh) | 2018-08-08 | 2019-08-07 | 使用视觉系统的自主机器导航和训练 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310062340.6A Pending CN115826585A (zh) | 2018-08-08 | 2019-08-07 | 使用视觉系统的自主机器导航和训练 |
CN201980050302.0A Withdrawn CN112512300A (zh) | 2018-08-08 | 2019-08-07 | 用于训练自主车辆的手柄和方法及其存放方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11334082B2 (zh) |
EP (3) | EP3833177B1 (zh) |
CN (3) | CN115826585A (zh) |
AU (2) | AU2019317453B2 (zh) |
CA (2) | CA3106284A1 (zh) |
WO (2) | WO2020033522A2 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018356126B2 (en) * | 2017-10-25 | 2021-07-29 | Lg Electronics Inc. | Artificial intelligence moving robot which learns obstacles, and control method therefor |
WO2019183277A1 (en) * | 2018-03-20 | 2019-09-26 | Nant Holdings Ip, Llc | Volumetric descriptors |
CN108717710B (zh) * | 2018-05-18 | 2022-04-22 | 京东方科技集团股份有限公司 | 室内环境下的定位方法、装置及系统 |
EP3800979B1 (en) | 2018-05-25 | 2023-03-22 | The Toro Company | Autonomous grounds maintenance machines with path planning for trap and obstacle avoidance |
US20220000017A1 (en) * | 2018-11-20 | 2022-01-06 | Honda Motor Co., Ltd. | Control apparatus of autonomously navigating work machine |
JP7222775B2 (ja) * | 2019-03-26 | 2023-02-15 | 日立建機株式会社 | 作業機械 |
EP3948472A4 (en) | 2019-04-05 | 2022-12-07 | Equipmentshare.com Inc. | SYSTEM AND METHOD FOR AUTONOMOUS OPERATION OF A MACHINE |
JP7376264B2 (ja) * | 2019-07-01 | 2023-11-08 | 株式会社小松製作所 | 作業機械を含むシステム、および作業機械 |
KR20190108530A (ko) * | 2019-09-04 | 2019-09-24 | 엘지전자 주식회사 | 이동 로봇 및 그의 구동 방법 |
IT201900016934A1 (it) * | 2019-09-23 | 2021-03-23 | Fabrizio Bernini | Robot tagliaerba |
US20210173410A1 (en) * | 2019-12-05 | 2021-06-10 | Cnh Industrial America Llc | System and method for controlling the direction of travel of a work vehicle based on an adjusted field map |
CN111352420B (zh) * | 2020-03-03 | 2021-08-10 | 厦门大学 | 一种激光导航agv高精度定位及目标对准控制方法 |
SE544024C2 (en) * | 2020-03-03 | 2021-11-09 | Husqvarna Ab | Robotic work tool system and method for redefining a work area perimeter |
US11789458B2 (en) * | 2020-03-06 | 2023-10-17 | Catepillar Paving Products, Inc. | Automatic mode resume system for a mobile machine |
SE544298C2 (en) * | 2020-04-14 | 2022-03-29 | Husqvarna Ab | Robotic work tool system and method for defining a working area |
AU2021301131A1 (en) | 2020-07-02 | 2023-02-09 | The Toro Company | Autonomous machine having vision system for navigation and method of using same |
US20230236604A1 (en) * | 2020-07-09 | 2023-07-27 | The Toro Company | Autonomous machine navigation using reflections from subsurface objects |
US20220039313A1 (en) * | 2020-08-05 | 2022-02-10 | Scythe Robotics, Inc. | Autonomous lawn mower |
US20220152835A1 (en) * | 2020-11-17 | 2022-05-19 | Ubtech Robotics Corp Ltd | Pose determination method, robot using the same, and computer readable storage medium |
EP4272533A1 (en) * | 2020-12-30 | 2023-11-08 | Globe (Jiangsu) Co., Ltd. | Intelligent mower and control method and system therefor, and storage medium |
CN112833890A (zh) * | 2020-12-30 | 2021-05-25 | 深圳市海柔创新科技有限公司 | 地图构建方法、装置、设备、机器人及存储介质 |
IT202100009023A1 (it) * | 2021-04-09 | 2022-10-09 | Stiga S P A In Breve Anche St S P A | Sistema di manutenzione di terreni, in particolare configurato per attivare una modalità di risparmio energetico di un dispositivo mobile previa comparazione tra livelli di carica |
WO2021178980A1 (en) * | 2021-04-28 | 2021-09-10 | Innopeak Technology, Inc | Data synchronization and pose prediction in extended reality |
WO2022272151A1 (en) * | 2021-06-24 | 2022-12-29 | Mtd Products Inc | Foldable handles for high-efficiency turf maintenance tool |
CN113885495A (zh) * | 2021-09-29 | 2022-01-04 | 邦鼓思电子科技(上海)有限公司 | 一种基于机器视觉的室外自动工作控制系统、方法及设备 |
SE2151264A1 (en) * | 2021-10-15 | 2023-04-16 | Husqvarna Ab | Robotic lawn mower |
EP4295659A1 (en) * | 2021-11-01 | 2023-12-27 | Nanjing Chervon Industry Co., Ltd. | Walk-behind power tool |
US20230160152A1 (en) * | 2021-11-24 | 2023-05-25 | Caterpillar Paving Products Inc. | Control system and method for defining and generating compactor work area |
US20230194301A1 (en) * | 2021-12-16 | 2023-06-22 | Univrses Ab | High fidelity anchor points for real-time mapping with mobile devices |
WO2023150032A1 (en) | 2022-02-02 | 2023-08-10 | The Toro Company | Autonomous working vehicle system having base station with canopy |
TWI808669B (zh) * | 2022-03-04 | 2023-07-11 | 國眾電腦股份有限公司 | 多點同步指導偕同作業系統及其方法 |
SE2250549A1 (en) * | 2022-05-06 | 2023-11-07 | Husqvarna Ab | Robotic lawnmower system |
CN115167418B (zh) * | 2022-07-04 | 2023-06-27 | 未岚大陆(北京)科技有限公司 | 转移路径生成方法、装置、电子设备和计算机存储介质 |
CN115171237A (zh) * | 2022-07-12 | 2022-10-11 | 国网河北省电力有限公司超高压分公司 | 一种3d成像巡视记录仪 |
WO2024072699A1 (en) | 2022-09-29 | 2024-04-04 | The Toro Company | Lawn mower with grass directing system |
US11678604B1 (en) | 2022-12-21 | 2023-06-20 | Sensori Robotics, LLC | Smart lawnmower with development of mowing policy and system and method for use of same |
CN116399330B (zh) * | 2023-05-29 | 2023-08-15 | 未岚大陆(北京)科技有限公司 | 地图修改方法、装置、电子设备和存储介质 |
Family Cites Families (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2727753A (en) * | 1952-12-08 | 1955-12-20 | Foley Mfg Company | Adjustable lawn mower handle |
US3357716A (en) * | 1965-01-18 | 1967-12-12 | M T & D Company | Handle construction |
US3855763A (en) * | 1972-09-15 | 1974-12-24 | R Dunton | Self-propelled rotary lawn mower |
US5209051A (en) * | 1991-03-08 | 1993-05-11 | Langdon Christopher D | Lawn mowers including push handles |
JP3019520B2 (ja) | 1991-09-03 | 2000-03-13 | 松下電器産業株式会社 | 自走式掃除機 |
US5261215A (en) * | 1992-07-24 | 1993-11-16 | Ryobi Motor Products Corp. | Vertically storable lawn mower |
WO1994023351A1 (en) | 1993-04-03 | 1994-10-13 | Cat Systems Limited | Localising system |
US5394965A (en) | 1993-09-17 | 1995-03-07 | Kho; Dick T. | Attachable pull handle for suitcases |
US5606851A (en) | 1993-09-22 | 1997-03-04 | Briggs & Stratton Corporation | Battery-powered lawn cutting system |
US6301746B1 (en) | 1998-01-09 | 2001-10-16 | Andiamo, Inc. | Telescoping handle assembly for luggage and other luggable items |
US6339735B1 (en) | 1998-12-29 | 2002-01-15 | Friendly Robotics Ltd. | Method for operating a robot |
US6158089A (en) * | 1999-03-10 | 2000-12-12 | Thomas Monahan Company | Telescoping handle |
JP2002181560A (ja) | 2000-12-08 | 2002-06-26 | Matsushita Electric Ind Co Ltd | ポリゴン情報伝達方法とそれを実施する装置 |
US7097181B2 (en) | 2001-11-02 | 2006-08-29 | Outrigger, Inc. | Angular handle assembly for wheeled luggage |
US20030144774A1 (en) * | 2002-01-29 | 2003-07-31 | Trissel Ronald L. | Kit and method for converting conventional lawnmower to a robotic lawnmower |
US7054716B2 (en) | 2002-09-06 | 2006-05-30 | Royal Appliance Mfg. Co. | Sentry robot system |
US20050273967A1 (en) | 2004-03-11 | 2005-12-15 | Taylor Charles E | Robot vacuum with boundary cones |
US10705533B1 (en) * | 2005-05-31 | 2020-07-07 | Richard Anthony Bishel | Autonomous lawnmower |
US8868237B2 (en) | 2006-03-17 | 2014-10-21 | Irobot Corporation | Robot confinement |
DE102007027648A1 (de) | 2007-06-15 | 2008-12-18 | Robert Bosch Gmbh | Lokalisierungssystem für ein Roboterfahrzeug |
DE102007060056A1 (de) | 2007-12-13 | 2009-06-18 | Robert Bosch Gmbh | Ansteuersystem und Ansteuerverfahren für ein Roboterfahrzeug sowie Roboterfahrzeug |
US8224516B2 (en) | 2009-12-17 | 2012-07-17 | Deere & Company | System and method for area coverage using sector decomposition |
WO2011115534A1 (en) | 2010-03-17 | 2011-09-22 | Husqvarna Ab | Method and system for navigating a robotic garden tool |
CN102273354A (zh) * | 2010-06-09 | 2011-12-14 | 泉峰(中国)贸易有限公司 | 草坪维护设备 |
US8776337B2 (en) | 2010-07-30 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Methods of forming capacitive sensors |
EP2725888A4 (en) * | 2011-06-29 | 2015-05-27 | Husqvarna Ab | CYCLING CAR WITH ADJUSTABLE STEERING ARRANGEMENT |
US9462747B2 (en) * | 2011-11-03 | 2016-10-11 | Brigs & Stratton Corporation | Vertically storable engine and mower |
EP2620050B1 (en) | 2012-01-25 | 2016-07-27 | Honda Research Institute Europe GmbH | System, method and apparatus for unsupervised adaptation of the perception of an autonomous mower |
CN102523817B (zh) * | 2012-02-22 | 2014-03-12 | 南京德朔实业有限公司 | 多档位把手机构及包含该把手机构的割草机 |
US11094137B2 (en) | 2012-02-24 | 2021-08-17 | Matterport, Inc. | Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications |
US9324190B2 (en) | 2012-02-24 | 2016-04-26 | Matterport, Inc. | Capturing and aligning three-dimensional scenes |
DE202012101866U1 (de) | 2012-05-22 | 2012-07-02 | Macauto Industrial Co., Ltd. | Roboterrasenmäher, der in einem Handschiebemodus betrieben werden kann |
PT106442A (pt) | 2012-07-13 | 2014-01-13 | Handgo Unipessoal Lda | Cesto com rodas aperfeiçoado |
US9563204B2 (en) | 2012-08-14 | 2017-02-07 | Husqvarna Ab | Mower with object detection system |
EP2885683A4 (en) | 2012-08-14 | 2016-06-01 | Husqvarna Ab | LIMIT DEFINITION SYSTEM FOR A ROBOTIC VEHICLE |
US9383753B1 (en) | 2012-09-26 | 2016-07-05 | Google Inc. | Wide-view LIDAR with areas of special attention |
EP2906032B1 (en) | 2012-10-09 | 2022-06-22 | Husqvarna AB | System for enhancing a coverage distribution of a robotic garden tool |
US9888627B2 (en) * | 2012-10-15 | 2018-02-13 | Chervon (Hk) Limited | Lawncare apparatus with a foldable operating arm |
US9241442B2 (en) * | 2012-10-23 | 2016-01-26 | Daniel A. DIAZDELCASTILLO | Autonomous and remote control all purpose machine (ARCAPM) |
JP6240384B2 (ja) * | 2012-11-29 | 2017-11-29 | ヤンマー株式会社 | 自律走行作業システム |
WO2014129943A1 (en) | 2013-02-20 | 2014-08-28 | Husqvarna Ab | A robotic work tool system and method comprising a charging station |
US10149430B2 (en) | 2013-02-20 | 2018-12-11 | Husqvarna Ab | Robotic work tool configured for improved turning in a slope, a robotic work tool system, and a method for use in the robot work tool |
PL2774470T3 (pl) * | 2013-03-08 | 2019-11-29 | Castorama France | Kosiarka do trawy |
FR3002826B1 (fr) | 2013-03-08 | 2015-03-27 | Castorama France | Tondeuse a gazon |
GB201313541D0 (en) * | 2013-07-30 | 2013-09-11 | Digital Line Markers Fze | User-propelled collapsible apparatus |
CN203872585U (zh) | 2013-10-10 | 2014-10-15 | 南京德朔实业有限公司 | 割草机及其控制电路 |
EP3069204B1 (en) | 2013-11-12 | 2023-05-17 | Husqvarna AB | Improved navigation for a robotic working tool |
WO2015072897A1 (en) | 2013-11-12 | 2015-05-21 | Husqvarna Ab | Improved navigation for a robotic working tool |
EP2884364B1 (en) | 2013-12-12 | 2018-09-26 | Hexagon Technology Center GmbH | Autonomous gardening vehicle with camera |
WO2015094052A1 (en) | 2013-12-19 | 2015-06-25 | Husqvarna Ab | Obstacle detection for a robotic working tool |
WO2015094053A1 (en) | 2013-12-19 | 2015-06-25 | Husqvarna Ab | System and method for navigating a robotic working tool. |
EP3084541B1 (en) | 2013-12-19 | 2019-05-08 | Husqvarna AB | Navigation for a robotic working tool |
TWM547502U (zh) | 2017-03-14 | 2017-08-21 | Mace Group Inc | 自行車手機支架結構 |
EP3126921B1 (en) | 2014-03-31 | 2021-02-24 | iRobot Corporation | Autonomous mobile robot |
EP3657292B1 (en) | 2014-05-15 | 2021-06-16 | Husqvarna Ab | Automatic sensitivity adjustment in object detection system |
JP6688747B2 (ja) | 2014-06-19 | 2020-04-28 | ハスクバーナ・アーベー | 自動的なビーコン位置判定 |
EP3158409B1 (en) | 2014-06-19 | 2021-01-20 | Husqvarna Ab | Garden visualization and mapping via robotic vehicle |
JP5792361B1 (ja) | 2014-06-25 | 2015-10-07 | シャープ株式会社 | 自律移動装置 |
US10365661B2 (en) | 2014-06-30 | 2019-07-30 | Husqvarna Ab | Navigation for a robotic working tool |
US10324461B2 (en) * | 2014-07-30 | 2019-06-18 | Yanmar Co., Ltd. | Remote control apparatus |
US9516806B2 (en) | 2014-10-10 | 2016-12-13 | Irobot Corporation | Robotic lawn mowing boundary determination |
GB201419883D0 (en) | 2014-11-07 | 2014-12-24 | F Robotics Acquisitions Ltd | Domestic robotic system and method |
US10444756B2 (en) | 2014-12-11 | 2019-10-15 | Husqvarna Ab | Navigation for a robotic working tool |
US9420741B2 (en) * | 2014-12-15 | 2016-08-23 | Irobot Corporation | Robot lawnmower mapping |
US10444760B2 (en) | 2014-12-17 | 2019-10-15 | Husqvarna Ab | Robotic vehicle learning site boundary |
US10806075B2 (en) | 2014-12-17 | 2020-10-20 | Husqvarna Ab | Multi-sensor, autonomous robotic vehicle with lawn care function |
WO2016098040A1 (en) | 2014-12-17 | 2016-06-23 | Husqvarna Ab | Robotic vehicle with automatic camera calibration capability |
WO2016098050A1 (en) | 2014-12-17 | 2016-06-23 | Husqvarna Ab | Multi-sensor, autonomous robotic vehicle with mapping capability |
WO2016097891A1 (en) | 2014-12-18 | 2016-06-23 | Husqvarna Ab | Robotic vehicle for detecting gps shadow zones |
WO2016097896A1 (en) | 2014-12-18 | 2016-06-23 | Husqvarna Ab | Parcel mapping via electrical resistance detection of a robotic vehicle |
EP3237984B1 (en) | 2014-12-22 | 2018-12-19 | Husqvarna AB | Area exclusion for operation of a robotic vehicle |
US9538702B2 (en) | 2014-12-22 | 2017-01-10 | Irobot Corporation | Robotic mowing of separated lawn areas |
US10643377B2 (en) | 2014-12-22 | 2020-05-05 | Husqvarna Ab | Garden mapping and planning via robotic vehicle |
EP3553620B1 (en) * | 2014-12-22 | 2023-07-12 | Husqvarna Ab | Robotic vehicle grass structure detection |
WO2016103065A1 (en) | 2014-12-23 | 2016-06-30 | Husqvarna Ab | Robotic vehicle with adjustable operating area |
SE1451645A1 (sv) | 2014-12-23 | 2016-05-31 | Husqvarna Ab | Improved navigation for a robotic lawnmower |
SE538372C2 (en) | 2014-12-23 | 2016-05-31 | Husqvarna Ab | Improved map generation by a robotic work tool |
US10405488B2 (en) | 2014-12-23 | 2019-09-10 | Husqvarna Ab | Zone control system for a robotic vehicle |
WO2016103071A1 (en) | 2014-12-23 | 2016-06-30 | Husqvarna Ab | Lawn monitoring and maintenance via a robotic vehicle |
SE540131C2 (en) | 2014-12-24 | 2018-04-10 | Husqvarna Ab | Robotic work tool with trajectory correction |
US10777000B2 (en) | 2014-12-27 | 2020-09-15 | Husqvarna Ab | Garden street view |
US9848531B2 (en) * | 2015-01-13 | 2017-12-26 | The Toro Company | Vertical storage grounds maintenance apparatus |
JP6193898B2 (ja) | 2015-02-10 | 2017-09-06 | 本田技研工業株式会社 | 自律走行作業車の制御装置 |
US20160255969A1 (en) * | 2015-03-06 | 2016-09-08 | Wal-Mart Stores, Inc. | Shopping facility assistance systems, devices and methods pertaining to movement of a mobile retail product display |
US9630319B2 (en) * | 2015-03-18 | 2017-04-25 | Irobot Corporation | Localization and mapping using physical features |
SE538868C2 (en) | 2015-05-04 | 2017-01-17 | Husqvarna Ab | Improved error detection and resetting of a robotic work tool |
US9894971B2 (en) * | 2015-07-01 | 2018-02-20 | Tumi, Inc. | Telescopic suitcase handle |
EP3156942A1 (en) * | 2015-10-16 | 2017-04-19 | Thomson Licensing | Scene labeling of rgb-d data with interactive option |
GB201518652D0 (en) * | 2015-10-21 | 2015-12-02 | F Robotics Acquisitions Ltd | Domestic robotic system and method |
US10649466B2 (en) | 2015-12-02 | 2020-05-12 | Husqvarna Ab | Navigation for a vehicle by implementing two operating modes |
US10928833B2 (en) | 2015-12-02 | 2021-02-23 | Husqvarna Ab | Navigation for a robotic work tool |
EP3187953B1 (en) | 2015-12-30 | 2020-03-18 | Honda Research Institute Europe GmbH | Autonomous working machine such as autonomous lawn mower |
SE539613C2 (en) * | 2016-01-11 | 2017-10-17 | Husqvarna Ab | Self-propelled robotic tool navigation |
SE1650023A1 (en) | 2016-01-11 | 2017-07-12 | Husqvarna Ab | A method and a system for navigating a self-propelled robotic tool |
JP6361681B2 (ja) | 2016-03-30 | 2018-07-25 | トヨタ自動車株式会社 | ハイブリッド自動車 |
CA3112021A1 (en) | 2016-05-19 | 2017-11-23 | Vermeer Manufacturing Company | Autonomous bale moving system and method |
JP6051326B1 (ja) | 2016-05-20 | 2016-12-27 | 第一工商有限会社 | 操作ハンドル装置 |
US11272658B2 (en) | 2016-06-14 | 2022-03-15 | Globe (jiangsu) Co., Ltd. | Control panel, self-propelled switch apparatus, and power device |
EP3508049B1 (en) | 2016-06-30 | 2022-08-24 | Techtronic Outdoor Products Technology Limited | An autonomous lawn mower |
EP4029372A1 (en) | 2016-12-15 | 2022-07-20 | Positec Power Tools (Suzhou) Co., Ltd. | Self-moving device return method, self-moving device, storage medium, and server |
CN111108342B (zh) * | 2016-12-30 | 2023-08-15 | 辉达公司 | 用于高清地图创建的视觉测程法和成对对准 |
CN106818024A (zh) * | 2017-01-03 | 2017-06-13 | 天佑电器(苏州)有限公司 | 园林工具推杆机构及具有该机构的园林工具 |
WO2018214977A1 (zh) * | 2017-05-26 | 2018-11-29 | 苏州宝时得电动工具有限公司 | 移动物体及其定位方法、自动工作系统、存储介质 |
EP3412128B1 (de) | 2017-06-09 | 2021-05-12 | Andreas Stihl AG & Co. KG | Grünflächenbearbeitungssystem und verfahren zum erfassen mindestens eines abschnitts eines begrenzungsrands einer zu bearbeitenden fläche |
CN207201326U (zh) | 2017-08-18 | 2018-04-10 | 苏州科瓴精密机械科技有限公司 | 智能割草机 |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
EP3699715B1 (en) | 2017-11-16 | 2022-01-05 | Nanjing Chervon Industry Co., Ltd. | Intelligent lawn mowing system |
WO2019180765A1 (ja) | 2018-03-19 | 2019-09-26 | 本田技研工業株式会社 | 自律走行作業機 |
AU2019275350B2 (en) * | 2018-05-25 | 2023-05-11 | The Toro Company | Systems and methods for operating a robotic machine in an autonomous mode and a manual mode |
CN111094895B (zh) | 2018-06-29 | 2023-08-22 | 百度时代网络技术(北京)有限公司 | 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 |
US10964053B2 (en) * | 2018-07-02 | 2021-03-30 | Microsoft Technology Licensing, Llc | Device pose estimation using 3D line clouds |
MX2020000519A (es) * | 2019-01-31 | 2020-08-20 | Techtronic Cordless Gp | Herramienta electrica que tiene altura o velocidad variable. |
CN111034471A (zh) * | 2019-05-09 | 2020-04-21 | 宁波大叶园林设备股份有限公司 | 折叠扶手而竖立的割草机 |
CN110249778A (zh) * | 2019-07-10 | 2019-09-20 | 陈晓骏 | 一种农业生产用可调式除草装置 |
EP3988809B1 (de) * | 2020-10-21 | 2023-12-27 | Andreas Stihl AG & Co. KG | Verfahren zum betreiben eines gartengeräts und gartengerät |
-
2019
- 2019-08-07 WO PCT/US2019/045470 patent/WO2020033522A2/en active Search and Examination
- 2019-08-07 CN CN202310062340.6A patent/CN115826585A/zh active Pending
- 2019-08-07 CN CN201980050302.0A patent/CN112512300A/zh not_active Withdrawn
- 2019-08-07 US US16/534,515 patent/US11334082B2/en active Active
- 2019-08-07 CA CA3106284A patent/CA3106284A1/en active Pending
- 2019-08-07 EP EP19755761.4A patent/EP3833177B1/en active Active
- 2019-08-07 CA CA3106274A patent/CA3106274A1/en active Pending
- 2019-08-07 US US17/261,406 patent/US20210251139A1/en active Pending
- 2019-08-07 AU AU2019317453A patent/AU2019317453B2/en active Active
- 2019-08-07 EP EP22178944.9A patent/EP4079135A1/en active Pending
- 2019-08-07 WO PCT/US2019/045443 patent/WO2020033504A2/en active Search and Examination
- 2019-08-07 AU AU2019317576A patent/AU2019317576A1/en active Pending
- 2019-08-07 EP EP19755504.8A patent/EP3833176A2/en active Pending
- 2019-08-07 CN CN201980052622.XA patent/CN112584697B/zh active Active
-
2022
- 2022-04-28 US US17/732,255 patent/US20220253063A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112584697A (zh) | 2021-03-30 |
EP4079135A1 (en) | 2022-10-26 |
AU2019317453B2 (en) | 2023-12-14 |
CN115826585A (zh) | 2023-03-21 |
EP3833177B1 (en) | 2022-07-27 |
WO2020033522A8 (en) | 2020-05-22 |
US20200050208A1 (en) | 2020-02-13 |
WO2020033504A2 (en) | 2020-02-13 |
WO2020033522A3 (en) | 2020-03-19 |
EP3833176A2 (en) | 2021-06-16 |
AU2019317576A1 (en) | 2021-01-28 |
CA3106274A1 (en) | 2020-02-13 |
CA3106284A1 (en) | 2020-02-13 |
US20210251139A1 (en) | 2021-08-19 |
US11334082B2 (en) | 2022-05-17 |
EP3833177A2 (en) | 2021-06-16 |
WO2020033504A3 (en) | 2020-05-14 |
US20220253063A1 (en) | 2022-08-11 |
CN112512300A (zh) | 2021-03-16 |
AU2019317453A1 (en) | 2021-01-28 |
WO2020033522A2 (en) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112584697B (zh) | 使用视觉系统的自主机器导航和训练 | |
US9603300B2 (en) | Autonomous gardening vehicle with camera | |
EP3942381B1 (en) | Smart scheduling for autonomous machine operation | |
US8989946B2 (en) | System and method for area coverage using sector decomposition | |
US20230236604A1 (en) | Autonomous machine navigation using reflections from subsurface objects | |
JP2011128158A (ja) | 可搬型ランドマークの配備システムおよび方法 | |
EP4066076B1 (en) | Autonomous machine navigation in various lighting environments | |
US20230069475A1 (en) | Autonomous machine navigation with object detection and 3d point cloud | |
CN114937258B (zh) | 割草机器人的控制方法、割草机器人以及计算机存储介质 | |
CA3160530A1 (en) | Autonomous machine navigation in various lighting environments | |
WO2024059134A1 (en) | Boundary definition for autonomous machine work region | |
CA3194391A1 (en) | Method for determining information, remote terminal, and mower | |
CN117687404A (zh) | 对机器人园艺工具遇到的物体进行地图绘制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |