在低光照条件下的自主机器导航的制作方法

文档序号:27511767发布日期:2021-11-22 17:26阅读:124来源:国知局
在低光照条件下的自主机器导航的制作方法
在低光照条件下的自主机器导航
1.本技术要求于2019年4月9日提交的、序列号为62/831,347的美国临时申请的权益,通过引用而将该申请并入本文。
技术领域
2.本公开大体涉及自主机器导航,并且具体地,涉及在低光照条件下的自主机器导航。


背景技术:

3.各种机器,例如用于草坪和花园的地面维护机器,可以执行多种任务。例如,房主和专业人员都可以使用动力割草机来维护房产或院子内的草地。一些割草机能够在工作区域的预定边界内自主执行割草。


技术实现要素:

4.本公开的技术大体涉及结合低光照导航系统的自主机器,低光照导航系统可以在控制器中实现、或可以作为整体导航系统的一部分,以向机器提供额外功能。例如,低光照导航系统可以提供或协助检测低光照环境(例如,在夜间、黎明、或黄昏期间的黑暗条件)并促进低光照环境中的导航。低光照环境的导航可以包括在图像记录时提供照明。尽管可以使用强照明源来促进自主机器在低光照条件下的持续操作,但是可以使用照明和/或长曝光时间结合减慢或停止运动来促进低光照导航。在一些低光照环境中可能不需要或不使用照明来导航。本文描述的某些低光照导航技术,也可以称为“慢速并凝视”或“停止并凝视”技术,可以以割草速度(例如,连续操作)为代价来增加电池寿命和易于制造。包括摄像机捕获配置在内的技术可以促进改进夜间导航,例如,通过减少曝光时间和减少使用主动照明来捕获用于定位的低亮度图像。
5.在独立方面a1中,一种用于自主机器导航的方法包括:使用配置有至少一个摄像机捕获参数的一个或多个摄像机来捕获场景的图像数据;基于场景的图像数据和校准过的辐照度映射数据而生成辐照度图像数据;基于场景的辐照度图像数据而确定至少一个测试摄像机捕获参数;基于辐照度图像数据和至少一个测试摄像机捕获参数而确定模拟场景参数;并且响应于确定模拟场景参数是可接受的,而基于至少一个测试摄像机捕获参数来生成至少一个更新的摄像机捕获参数。
6.在方面a2中,方面a1还包括基于至少一个测试摄像机捕获参数而生成场景的模拟图像数据。确定模拟场景参数包括还基于场景的模拟图像数据来确定模拟场景参数。
7.在方面a3中,任一前述方面a还包括,其中确定至少一个测试摄像机捕获参数包括还基于至少一个先前存储的摄像机捕获参数来确定至少一个测试摄像机捕获参数。
8.在方面a4中,任一前述方面a还包括:基于场景的图像数据确定捕获到的场景参数;判断捕获到的场景参数是否是可接受的;响应于确定捕获到的场景参数是可接受的,而使用至少一个摄像机捕获参数来捕获定位图像;并且响应于确定捕获到的场景参数是不可
接受的,而生成辐照度图像数据。
9.在方面a5中,方面a4还包括响应于捕获到的场景参数超过捕获到的场景参数阈值,而确定捕获到的场景参数是可接受的。
10.在方面a6中,方面a4或a5中还包括,其中捕获到的场景参数包括以下中的一个或多个:平均像素强度、中值像素强度、或像素强度的加权总和。
11.在方面a7中,方面a4至a6中之任一还包括:响应于确定捕获到的场景参数是不可接受的,而基于场景的图像数据来生成遮掩的捕获到的图像数据;并且基于遮掩的捕获到的图像数据,生成辐照度图像数据。
12.在方面a8中,任一前述方面a还包括:基于场景的模拟图像数据来生成遮掩的模拟图像数据;并且基于遮掩的模拟图像数据而确定模拟场景参数。
13.在方面a9中,任一前述方面a还包括响应于模拟场景参数超过模拟场景参数阈值,而确定模拟场景参数是可接受的。
14.在方面a10中,任一前述方面a还包括,其中模拟场景参数包括以下中的一个或多个:平均像素强度、中值像素强度、或像素强度的加权总和。
15.在方面a11中,任一前述方面a还包括:响应于确定模拟场景参数是不可接受的,而更新至少一个测试摄像机捕获参数;并且基于至少一个测试摄像机捕获参数来生成场景的模拟图像数据。
16.在方面a12中,任一前述方面a还包括,其中至少一个更新的摄像机捕获参数和至少一个测试摄像机捕获参数中的一者或两者包括以下中的一个或多个:曝光时间、增益、和主动光照强度。
17.在方面a13中,任一前述方面a还包括,其中使用更新的至少一个摄像机捕获参数包括:响应于计算的曝光时间超过曝光时间阈值,而使用不超过曝光时间阈值的减少的曝光时间作为摄像机捕获参数,并基于计算的曝光时间和减少的曝光时间使用增益作为摄像机捕获参数。
18.在方面a14中,任一前述方面a还包括在使用一个或多个摄像机的图像数据的后续捕获中,使用至少一个更新的摄像机捕获参数来配置一个或多个摄像机或更新定位。
19.在方面a15中,任一前述a方面还包括:在工作区域中低光照条件下的自主机器运动期间捕获场景的图像数据;确定在自主机器运动期间是否更新自主机器的定位;响应于确定更新定位而减少自主机器的运动;在使用至少一个更新的摄像机捕获参数减少自主机器的运动的同时,捕获在低光照条件下至少一部分工作区域的操作图像;基于捕获的操作图像来更新自主机器的姿态估计;并且基于更新的姿态估计来恢复在工作区域内的自主机器的运动。
20.在方面a16中,任一前述方面a还包括:基于当前姿态确定不确定性参数;确定不确定性参数是否超过不确定性阈值;响应于不确定性参数超过不确定性阈值,而减少自主机器的运动并确定更新自主机器的定位;并且在自主机器的运动减少的同时捕获至少一部分工作区域的操作图像。
21.在方面a17中,方面a16还包括,其中基于到工作区域的边界的距离来确定不确定性阈值。
22.在方面b1中,自主机器包括:耦接到维护工具的外壳;包括至少一个马达的推进系
统;适于在一种或多种光照条件下记录图像的至少一个摄像机;以及可操作地耦接到至少一个摄像机和推进系统的控制器,控制器适于执行根据任一前述方面a的方法。
23.在方面c1中,一种计算机可读介质包括存储于其上的指令,该指令在由处理电路执行时致使处理电路执行根据任一前述方面a的方法。
24.在独立方面dl中,自主机器包括:耦接到维护工具的外壳;包括至少一个马达的推进系统;适于在一种或多种光照条件下记录图像的至少一个摄像机;以及可操作地耦接到至少一个摄像机和推进系统的控制器。控制器适于:检测是否存在低光照条件;确定是否更新自主机器的定位;响应于确定更新定位和检测到低光照条件,而命令推进系统减慢或停止自主机器的运动;命令至少一个摄像机在低光照条件下记录工作区域的一张或多张图像;基于一个或多个记录图像更新自主机器的姿态估计;并且命令推进系统基于更新的姿态估计恢复自主机器的运动。
25.在方面d2中,方面d1还包括,其中控制器还适于:将基于在低光照条件下记录的一个或多个记录图像的图像数据、与日光或低光照特征数据进行比较;并且基于图像数据、与日光或低光照特征数据的比较而确定基于视觉的姿态数据。
26.在方面d3中,方面d2还包括,其中控制器还适于根据基于视觉的姿态数据来更新自主机器的姿态估计。
27.在方面d4中,任一前述d方面还包括,其中控制器还适于基于检测到的光照条件来确定曝光时间和/或附加照明以记录图像。
28.在方面d5中,方面d4还包括,其中基于阈值确定曝光时间和/或附加照明,使得可以使用低光照导航地图、或在低光照和日光特征之间发生特征匹配。
29.在独立方面e1中,一种用于自主机器导航的方法包括:检测是否存在低光照条件;确定是否更新自主机器的定位;响应于确定更新定位和检测到低光照条件,而减慢或停止自主机器的运动;在低光照条件下记录至少一部分工作区域的图像;基于记录图像更新自主机器的姿态估计;并且基于更新的姿态估计而恢复工作区域内的自主机器的运动。
30.在独立方面fi中,一种用于自主机器导航的方法包括:基于当前姿态确定不确定性参数;确定不确定性参数是否超过不确定性阈值;响应于不确定性参数超过不确定性阈值,而减慢或停止自主机器的运动并确定更新自主机器的定位;并且在自主机器减慢或停止时记录至少一部分工作区域的图像。
31.发明内容并非旨在描述本公开的每个方面或每个实施方式。通过参考考虑到附图的以下具体实施方式和权利要求,更完整的理解将变得明显和可领会。
附图说明
32.将参考附图进一步描述示例性实施例,其中:
33.图1是根据本公开的结合了视觉系统的自主工作机器(例如,诸如机器割草机的地面工作机器)的示意图;
34.图2是根据本公开的使用图1的机器的各种系统的一个示例的示意图;
35.图3是根据本公开的使用图1的机器的导航方法的一个示例的流程图;
36.图4为根据本公开的实施图3的导航方法的一个示例的示意图;
37.图5是根据本公开的图2的视觉系统和控制器之间的功能关系的一个示例的流程
图;
38.图6是根据本公开的使用图1的机器的导航方法的一个示例的流程图;
39.图7是根据本公开的包括使用图1的机器的摄像机捕获配置的导航方法的一个示例的流程图;
40.图8是根据本公开的包括使用图1的机器的摄像机捕获配置的导航方法的另一个示例的流程图;和
41.图9是根据本公开的使用图1的机器的自动摄像机捕获配置的方法的一个示例的流程图。
42.这些图主要是为了清楚起见而呈现的,并且因此不一定按比例绘制。此外,各种结构/部件(包括但不限于紧固件、电气部件(布线、电缆等)等)可以被示意性地示出、或从一些或所有视图中被移除,以更好地说明所描绘实施例的各方面,或者包括这样的结构/部件对于理解本文描述的各种示例性实施例而言不是必要的。然而,在特定图中缺少对这种结构/部件的说明/描述不应被解释为以任何方式限制各种实施例的范围。
具体实施方式
43.在说明性实施例的以下具体实施方式中,参考了构成其一部分的附图。应当理解,当然可以设想在本文中可能未被描述和/或图示的其它实施例。
44.除非另有说明,否则本文提供的所有标题都是为了方便读者,并且不应当用于限制标题之后的任何文本的含义。此外,除非另有说明,否则说明书和权利要求中的所有表示数量的数字和所有表示方向/取向(例如,竖直、水平、平行、垂直等)的术语都应当被理解为在所有情况下都被术语“精确的”或“大约”修饰。除非上下文另有明确声明,否则术语“或”通常以其包含性的意义使用,例如表示“和/或”。术语“和/或”(如果使用了)是指一个或所有列出的元素、或任意两个或多个列出的元素的组合。术语“i.e.”用作拉丁短语id est的缩写,意思是“即”。术语“e.g.,”用作拉丁短语exempli gratia的缩写,意思是“例如”。
45.本公开提供了结合了低光照导航系统的自主机器,低光照导航系统可以在控制器中实现、或可以作为整体导航系统的一部分,以向机器提供额外功能。例如,低光照导航系统可以提供或协助检测低光照环境(例如,在夜间、黎明、或黄昏期间的黑暗条件)并且促进低光照环境中的导航。低光照环境的导航可以包括在图像记录时提供照明。尽管可以使用强照明源来促进自主机器在低光照条件下的连续操作,但是可以使用照明和/或长曝光时间结合减慢或停止运动来促进低光照导航。在一些低光照环境中可能不需要或不使用照明来导航。本文描述的某些低光照导航技术,也可以称为“慢速并凝视”或“停止并凝视”技术,可以以割草速度(例如,连续操作)为代价来增加电池寿命和易于制造。包括摄像机捕获配置在内的技术可以促进改进夜间导航,例如,通过减少曝光时间和减少使用主动照明来捕获用于定位的低光照图像。
46.本文描述的技术可以使用自主机器的成像摄像机系统的光度校准(或模型)。该模型可以针对或可以不针对每个图像传感器(成像器)进行校准,或者单个模型可用于系统中的所有成像器。
47.即使在由于所需的长曝光时间而存在显著的移动模糊时,也可以在机器运动时捕获图像。可以结合成像器模型使用模糊图像来选择可接受的曝光、增益、和可选的主动照明
强度参数。
48.在一些方面,捕获并评估图像以确定其是否“曝光良好”。可以以任何合适的方式来执行评估。在一个示例中,可以确定平均像素强度并且与平均像素强度阈值或平均像素强度的可接受范围的区间进行比较。其它非限制性示例包括确定中值像素强度或像素强度的加权总和(例如,点加权或面积加权),其可以与可接受范围的相应阈值或区间进行比较。在一些方面,也可以用相对术语将强度描述为例如百分比亮度。
49.如果图像被很好地曝光,则可以将摄像机捕获参数(或甚至图像本身)传递给绝对定位算法。如果图像没有被很好地曝光,则可以在被发送到绝对定位算法之前对摄像机捕获参数进行改进。
50.在一些方面,应用图像遮掩以将图像分析集中到图像的相关部分。在一个示例中,可以遮掩与看到机器相关的图像边缘以及过高或过低的强度。
51.可以通过应用校准过的摄像机辐照度映射将图像从像素强度转换为辐照度单位。摄像机辐照度映射可提供为由对一个或多个图像传感器或摄像机板执行的校准测试生成的查找表(lut)或函数。这些测量只需对几个摄像机模块执行一次,并且通常适用于该型号的所有摄像机。摄像机辐照度映射可以将从每个像素看到的场景辐照度与由每个像素记录的像素强度相关联。如果使用了不同的参数,例如较长的曝光时间,则此类地图可以促进场景亮度的估计和图像的模拟。
52.可以通过进入搜索循环来模拟由试验摄像机捕获参数产生的像素强度图像以估计更好的摄像机捕获参数。在搜索循环期间使用不同的试验集摄像机捕获参数生成模拟图像。可以应用加权遮掩来将图像分析集中在图像的最重要部分。然后可以确定其是否“曝光良好”。
53.如果模拟图像被很好地曝光,则可以将摄像机捕获参数传递到用于捕获新图像的绝对定位算法。如果模拟图像没有被很好地曝光,则可以继续迭代搜索循环以估计更好的摄像机捕获参数。在一些方面,搜索循环执行二分搜索算法、基于梯度的搜索算法、或任何其它合适的搜索算法以找到一组更好的摄像机捕获参数。
54.机器可以利用惯性传感器、车轮编码器、或其它相对运动传感器、使用航位推算(dr)进行导航,以估计机器位置、取向和速度(或姿态),并且还可以估计姿态不确定性。当姿态不确定性大于阈值度量时,则机器可以减慢或停止以执行绝对定位。
55.在绝对定位期间,机器可以借助估计的可接受曝光、增益、和照明强度参数来捕获一个或多个图像以捕获一个或多个长曝光或高动态范围(hdr)图像。捕获hdr图像可以包括以高增益捕获多个短曝光图像,其可以被堆叠或以其它方式组合,以基于多个图像来近似长曝光图像。在许多情况下,第一个长曝光图像足以进行定位,从而节省了多次曝光以调整曝光、增益、和照明强度参数所需的时间。
56.来自图像的绝对定位可以提供位置和位置不确定性估计。该位置和位置不确定性估计可用于改进姿态估计和姿态不确定性估计。当获得令人满意的姿态不确定性估计时,机器停止并凝视操作可以返回航位推算以进行导航并间歇性地重复绝对定位。
57.虽然本文在说明性示例中称为自主割草机,但这种配置仅是说明性的,因为本文描述的系统和方法也适用于其它自主机器,包括例如商用割草产品、其它地面工作机器或车辆(例如,碎屑鼓风机/真空吸尘器、曝气机、割草机、撒料机、除雪机、用于治理杂草的除
草机)、(例如,可能遇到障碍物的)例如真空吸尘器和地板洗涤器/清洁器的室内工作车辆、施工和多功能车辆(例如挖沟机)、观察车辆、和负载运输(例如,包括人和物品,例如人员移动和牵引设备)。此外,本文描述的自主机器可以采用各种一种或多种类型的导航,例如随机、修正的随机或特定路径规划,以执行它们的预期功能。
58.如本文所用的,术语“减慢”是指自主机器的运动从第一速度减少到低于第一速度的第二速度。第一速度可以对应于机器在工作区域中执行任务使用的标称操作速度。第二速度可以对应于在低光照条件下用于捕获图像以基于视觉的定位的速度。通常,第二速度足够慢以允许在没有明显模糊的情况下捕获一个或多个图像,使得可以从捕获到的一个或多个图像中提取特征。
59.如本文所用的,术语“停止”是指使自主机器的运动减慢或减少到等于或几乎等于零的速度(例如,小于等于0.1m/s、0.05m/s或甚至0.01m/s)。
60.应当注意,出现在随附的说明书和权利要求中的术语“具有”、“包括”、“包含”及其变体并无限制意义,并且以其开放式意义使用,通常表示“包括但不限于”。此外,“一”、“一个”、“该”、“至少一个”、和“一个或多个”在本文中可互换使用。此外,本文中可以使用诸如“左”、“右”、“前”、“前方”、“向前”、“后”、“后方”、“向后”、“顶”、“底”、“侧”、“上”、“下”,“上方”,“下方”,“水平”,“竖直”等相对术语,如果使用了则是从特定图中所示的角度来看,或者当机器100处于操作配置时(例如,如图1所示,当机器100定位使得轮106和108搁置在大致水平的地表面103上时)。然而,这些术语仅用于简化描述,并且不限制对所描述的任何实施例的解释。
61.本公开的技术可以用于任何合适的自主机器。图1示出了割草系统(为了简化描述,示意性地示出了割草机100)的自主地面维护机器(例如,自主操作车辆,诸如自主割草机100)的一个示例。割草机100可以包括在各种光照条件下(例如在白天或夜晚)自主导航的功能。
62.如该图所示,割草机100可以包括承载和/或包围如下文描述的割草机的各种部件的外壳102(例如,具有护罩的框架或底盘)。割草机100还可以包括地面支撑构件,例如轮、滚轮、腿或轨道。在图示的实施例中,所示出的地面支撑构件包括将外壳102支撑在地(草地)表面103上的一个或多个后轮106和一个或多个前轮108。如图所示,前轮108用于支撑割草机外壳102的前端部分134,并且后轮106用于支撑割草机外壳的后端部分136。
63.一个或两个后轮106可由推进系统(例如,包括一个或多个电动轮马达104)驱动以在地表面103上推进割草机100。在一些实施例中,前轮108可相对于外壳102(例如,围绕竖直轴线)自由地进行脚轮旋转。在这样的配置中,割草机方向可以用类似于一些现有的零转弯半径(ztr)骑乘式割草机的方式,通过两个后轮106的差动旋转来控制。也就是说,推进系统可以包括左和右后轮106中的每一个使用的独立的轮马达104,从而可以独立地控制每个后轮的速度和方向。额外地或可替代地,前轮108可由推进系统(例如,包括一个或多个转向马达105)主动转向以帮助控制割草机100的方向,和/或可由推进系统驱动(即提供前轮或全轮驱动的割草机)。
64.工具(例如,割草元件,诸如刀片110)可以耦接到由外壳102承载的切割马达112(例如,工具马达)。当马达112和104通电时,可以在地表面103上推进割草机100,使得割草机经过的植被(例如,草)被刀片110切割。虽然在本文中仅使用单个刀片110和/或马达112
进行说明,但在本公开的范围内可以料想到结合由单个或多个马达提供动力的多个刀片的割草机。此外,虽然本文在一个或多个常规“刀片”的上下文中进行描述,但在不脱离本公开的范围的情况下,包括例如盘、尼龙绳或线元件、刀、切割卷轴等的其它切割元件当然也是可能的。另外,还可以料想到结合各种切割元件,例如具有边缘安装的修边机的旋转刀片的实施例。
65.割草机100还可以包括电源,在一个实施例中,电源是具有基于锂的化学成分(例如,锂离子化学成分或磷酸铁锂化学成分)的电池114。在不脱离本公开的范围的情况下,其它实施例可以利用其它化学成分的电池或其它电源技术(例如,太阳能、燃料电池、内燃机)。还应当注意,虽然示出为使用独立的刀片和轮马达,但这种配置仅作为说明性的,也可以料想到其中由单个马达提供刀片和轮动力的实施例。
66.割草机100还可以包括一个或多个传感器以提供位置数据。例如,一些实施例可以包括全球定位系统(gps)接收器116(或可提供类似数据的其它位置传感器),接收器116适于估计割草机100在工作区域内的位置并将此类信息提供给控制器120(将在下文中描述)。在其它实施例中,一个或多个轮106、108可以包括编码器118,编码器118提供可以用于(例如,基于初始启动位置)估计给定工作区域内的割草机位置的轮旋转/速度信息。割草机100还可以包括适于检测边界线的传感器115,除本文描述的其它导航技术之外还可以使用传感器115。
67.割草机100可以包括一个或多个前障碍物检测传感器130、和一个或多个后障碍物检测传感器132,以及其它传感器,例如侧面障碍物检测传感器(未示出)。障碍物检测传感器130、132可以分别用于检测割草机100向前或向后行进时路径中的障碍物。割草机100能够在沿任一方向运动的同时割草。如图所示,传感器130、132可以分别位于割草机100的前端部分134或后端部分136。除了所描述的传感器之外,现在已知或以后开发的其它传感器也可以结合到割草机100中。
68.传感器130、132可以使用接触感测和/或非接触感测。例如,根据割草机100的状态(例如,在一个区域内或在区域之间行进),可以同时启用接触和非接触感测、或可以仅使用一种类型的感测。接触感测的一个示例包括使用从外壳102突出的接触缓冲器、或外壳本身,其可以检测割草机100何时接触障碍物。非接触传感器可以使用声波或光波(例如,使用红外线、无线电检测和测距(雷达)、光检测和测距(激光雷达)等),有时在与障碍物接触之前、距割草机100一定距离处来检测障碍物。
69.割草机100可以包括一个或多个基于视觉的传感器以提供定位数据,例如位置、取向、或速度。基于视觉的传感器可以包括捕获或记录图像以供视觉系统使用的一个或多个摄像机133。摄像机133可以称为割草机100的视觉系统的一部分。图像类型包括例如训练图像和/或操作图像。
70.一个或多个摄像机133能够检测可见光和/或不可见光(例如红外光)。可以使用任何合适的总视场。在一些实施例中,一个或多个摄像机133可以在自主机器(例如,割草机100)周围建立相对于水平面大于等于30、45、60、90、120、180、270、或360度的总视场。在一些实施例中,一个或多个摄像机133可以在自主机器周围建立例如相对于水平面小于等于360、270、180、120、90、60、45、或30度的总视场。视场可以在水平方向和/竖直方向上定义。例如,总水平视场可以小于或等于360度,总竖直视场可以是45度。在一些实施例中,总视场
可以以三维(3d)几何形状描述,例如球面度。例如,总视场可以小于或等于4p球面度。视场可以捕获一个或多个摄像机133的高度上方和下方的图像数据。
71.在一些实施例中,割草机100包括四个摄像机133。一个摄像机133可以位于包括(例如,相对于割草机100的基本方向的)前方向、后方向、第一侧方向、和第二侧方向的一个或多个方向中的每一个。一个或多个摄像机方向可以与一个或多个其它摄像机133正交地定位或定位成与至少一个其它摄像机133相对。摄像机133也可以从这些方向中的任何一个(例如,以45度或另一个非直角)而偏移。
72.割草机100可以包括可由控制器120激活的一个或多个照明源140。一个或多个照明源140可以结合到一个或多个摄像机133中或附接到外壳102。照明源140可以照明割草机100周围的一个或多个区域。照明源140可以配置为将光投射到地表面上。这可以防止摄像机133中的一个或多个摄像机被地面反射致盲。可以使用任何合适类型的照明源140,例如发光二极管。
73.在一些实施例中,照明源140可以配置为提供连续或离散量的光。例如,当要记录低光照图像时,照明源140可以“闪光”或提供短持续时间的光爆发。
74.照明源140可以提供可见光、红外线、或近红外线光谱中的一种或多种光。在一些实施例中,照明源140仅产生不可见光,例如红外光。由照明源140提供的不可见光或可见光可由摄像机133检测到。
75.可以例如基于环境、使用各种强度的曝光时间和/或照明。曝光时间也可以与照明强度的量平衡。在一些环境中,可以,例如结合长曝光时间,而使用低强度的光或不使用光。在其它环境中,可以结合短或中等曝光时间而使用中等或高强度的光。
76.可以例如以使用手柄的手动方式,沿路径引导割草机100。特别地,割草机100的手动指导可以在训练模式期间用于学习工作区域或与工作区域相关联的边界。
77.位于前方向的摄像机133可以具有表示自主机器的姿态的位置和取向。在一些实施例中,可以相对于割草机100的几何中心或相对于割草机100的边缘之一来限定摄像机的位置和取向。
78.如本文所使用的,术语“姿态”是指位置和取向。姿态可以是可以包括三维空间的所有位置和取向参数的六自由度姿态(6dof姿态)。姿态数据可以包括三维位置和三维取向。例如,位置可以包括选自(例如,使用笛卡尔坐标系的)x轴、y轴、和z轴坐标的至少一个位置参数。可以使用任何合适的角取向表示。角取向表示的非限制性示例包括偏航、俯仰和滚动表示,也可以独立或组合使用罗德里格斯表示、四元数表示、以及方向余弦矩阵(dcm)表示。在一个示例中,取向可以包括选自偏航(例如,竖直z轴取向)、俯仰(例如,横向y轴取向)、和滚动(例如,纵向x轴方向)的至少一个取向参数。
79.割草机100的传感器也可以称为基于视觉的传感器或基于非视觉的传感器。基于视觉的传感器可以包括能够记录图像的摄像机133。可以处理图像并用于构建三维(3d)点云或用于光学里程(例如,光学编码)。基于非视觉的传感器可以包括不是摄像机133的任何传感器。例如,可以将使用光学(例如,光电二极管)、磁性、或电容传感来检测轮旋转的轮编码器称为不使用摄像机的基于非视觉的传感器。来自轮编码器的轮编码数据也可以称为里程数据。
80.可以通过拍摄一系列图像或图像序列并比较图像中的特征来使用光学编码,以确
定或估计图像之间行进的距离。相比于用于确定距离或速度的轮编码器,光学编码可能受到轮打滑的影响更少。
81.除了上述传感器之外,现在已知或以后开发的其它传感器也可以结合到割草机100中。
82.割草机100还可以包括适于监测和控制各种割草机功能的控制器120。控制器120可以包括接收各种输入并执行存储在存储器124中的一个或多个计算机程序或应用程序的处理器122。存储器124可以包括计算机可读指令或应用程序,其在例如由处理器122执行时致使控制器120执行各种计算和/或发出命令。也就是说,处理器122和存储器124可以一起限定计算设备,计算设备可操作地处理输入数据并且生成到一个或多个部件/装置的期望输出。例如,处理器122可以从gps接收器116和/或编码器118接收包括位置数据在内的各种输入数据,并且向一个或多个驱动轮马达104产生速度和转向角命令以使得驱动轮106(以相同或不同的速度和相同或不同的方向)旋转。换言之,控制器120可以控制割草机100的转向角和速度,以及切割刀片的速度和操作。
83.割草机100可以包括可以由控制器120激活的一个或多个照明源140。一个或多个照明源140可以结合到一个或多个摄像机133中或附接到外壳102。照明源140可以照亮割草机100周围的一个或多个区域。照明源140可以配置为将光投射到地表面上。这可以防止摄像机133中的一个或多个摄像机被地面反射致盲。可以使用任何合适类型的照明源140,例如发光二极管。
84.每个系统也可以称为具有其自己的控制器120。例如,视觉系统可以称为包括一个控制器120,并且导航系统可以称为具有另一个控制器120。因此,割草机100可以称为具有多个控制器120。通常,如本文所使用的,术语“控制器”可以用于描述“系统”的部件,其提供命令以控制系统的各种其它部件。
85.鉴于上文,显而易见的是,控制器120的功能可以以本领域技术人员已知的任何方式来实现。例如,存储器124可以包括任何易失性、非易失性、磁、光、和/或电介质,例如随机存取存储器(ram)、只读存储器(rom)、非易失性ram(nvram)、电可擦除可编程rom(eeprom)、闪存、和/或任何其它数字媒体。存储器124和处理器122虽然都被示为结合到控制器120,但是也可以包含于独立的模块中。
86.处理器122可以包括微处理器、控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、和/或等效的分立或集成逻辑电路中的任意一个或多个。在一些实施例中,处理器122可以包括多个部件,例如一个或多个微处理器、一个或多个控制器、一个或多个dsp、一个或多个asic、和/或一个或多个fpga、以及其它分立或集成逻辑电路的组合。本文中归属于控制器120和/或处理器122的功能可以体现为软件、固件、和/或硬件。控制器120的某些功能也可以通过可操作地连接到处理器122的互联网连接的云计算或其它分布式计算系统来执行。
87.在图1中,一般性地示出了在控制器120与电池114、轮马达104、刀片马达112、可选的边界线传感器115、无线电117、和gps接收器116之间的示意性连接。这种互连仅是说明性的,因为割草机100的各种子系统可以以几乎任何方式连接,例如,允许数据和/或电力在割草机的各个部件之间传递的彼此直接连接、无线连接、通过总线架构(例如,控制器局域网(can)总线)连接、或任何其它连接配置。尽管与传感器130、132、133中的一些的连接未示
出,但是割草机100的这些传感器和其它部件可以以类似方式连接。无线电117可以通过蜂窝或其它广域网(例如,甚至通过互联网)、局域网(例如,ieee802.11“wi

fi”无线电)、或点对点(p2p)(例如,蓝牙)网络与独立的用户接口装置119(例如,移动装置,诸如智能电话、平板电脑、台式机或可穿戴计算机)通信。进而,用户接口装置119可通过类似网络与其它装置通信,并且例如,可以用于将割草机100连接到互联网。额外地,割草机100的控制器120可以与诸如远程计算机或其它用户接口装置119的独立装置(例如,通过无线电117)进行操作通信。
88.用户接口装置119可以或可以不耦接到割草机100。在一些实施例中,用户接口装置119可以用于向割草机100提供来自用户的用户输入或命令。在一些实施例中,用户接口装置119可以用于向用户提供指示,例如图形用户界面(例如,屏幕或触摸屏)上的视觉呈现。
89.在一些实施例中,本文描述的一个或多个控制器120的各种功能可以从割草机100中卸载。例如,可以使用无线电117将记录图像传输到(例如,在云中的)远程服务器并进行处理或存储。根据处理得到的存储的图像或其它数据可以使用无线电117接收并且存储在割草机100上或由割草机100进一步处理。
90.割草机100可以利用示例性视觉和导航系统来允许割草机在给定的工作区域内自主操作。可以在例如于2019年8月7日提交的美国专利申请no.16/534,515中找到关于割草机100的示例性操作和导航的更多信息,通过引用而将该申请并入本文。
91.通常,割草机100的控制器120和各种部件或系统可以用于执行本文所描述的各种功能。在一些实施例中,视觉和导航系统的部件(例如,摄像机133)可以在低光照条件下使用。除了解决昏暗区域的导航之外,视觉和导航系统还可以用于在低光照条件下(例如,夜间)割草时节省电力。割草机100的系统的一些示例在图2中示出。
92.图2示出了包括视觉系统202、导航系统204、和推进系统206的自主机器(例如,图1的割草机100)中各种系统的总览。虽然所有系统202、204、206均被示为完全是割草机100的一部分,但在一些实施例中,每个系统的一些或全部也可以位于割草机100之外。视觉系统202可以可操作地耦接到导航系统204,并且导航系统204可以可操作地耦接到推进系统206。任何合适的导航技术可以用于割草机100。在一些实施例中,可以如于2019年8月7日提交的美国专利申请no.16/534,515和于2019年4月9日提交的美国临时申请no.62/831,347号中使用导航技术,通过引用而将上述申请并入本文。
93.导航系统204的传感器可以用于在训练模式期间记录基于非视觉的数据,而视觉系统202记录图像,例如训练图像。在一些实施例中,尽管割草机100可以由用户手动引导,但导航系统204可在训练模式期间自主引导机器。视觉系统202可以包括一个或多个摄像机以记录或捕获图像。在一些实施例中,视觉系统202的控制器可以基于记录图像向导航系统204提供位置和/或取向数据,记录图像可以用于促进割草机100的导航。例如,视觉系统202可以根据基于视觉的传感器数据向导航系统204提供割草机100的估计位置和/或取向。
94.在一些实施例中,导航系统204可以主要使用根据基于非视觉的传感器数据的位置和/或取向来导航。例如,基于非视觉的传感器数据可以基于来自惯性测量单元或轮编码器的输出。在训练模式或离线模式期间,例如,导航系统204的控制器可以使用基于非视觉的传感器数据和基于视觉的数据来确定边界,以用于自主机器在工作区域中的后续导航。
例如,在在线模式期间,导航系统204的控制器可以根据基于视觉的姿态数据和/或基于非视觉的姿态数据来确定姿态。在一些实施例中,可以根据基于非视觉的传感器数据来确定姿态,并且根据基于视觉的姿态数据更新姿态,这可以称为基于视觉的定位。导航系统204可以比较来自各种传感器的数据以校正错误并更新位置,这可以称为传感器融合。例如,可以将基于视觉的位置和/或取向与基于非视觉的位置和/或取向进行比较。在一些实施例中,可以使用不同于基于视觉的传感器数据的传感器数据来校正错误并更新位置,例如gps数据。
95.导航系统204可以从由视觉系统202捕获的图像中提取特征数据。可以从训练图像中提取特征数据以提供训练特征数据。导航系统204可以使用训练特征数据生成三维点云(3dpc)和关联数据,其可以包括自主机器的多个6dof姿态,以表示工作区域。3dpc和姿态可以注册在导航地图中。可选地,基于非视觉的数据,例如gps数据、imu数据、和里程数据,也可以注册到真实世界坐标系,例如地球参考的地图的坐标系。可以从操作图像中提取特征数据并与训练特征数据进行比较,这可以称为特征匹配。在操作期间,操作特征数据与训练特征数据的比较可以用于识别自主机器的位置和/或取向以促进导航。
96.在一些方面,可以分析操作图像以确定图像是否“曝光良好”。在一个示例中,可以分析操作图像以获得可接受的场景捕获参数(参见图9的块904)。
97.如本文所使用的,术语“特征”是指通过识别二维图像中的一个或多个点,特别是关键点或兴趣点而产生的二维(2d)数据。可以使用特征检测器算法从图像中识别和提取特征。可以根据特定的自主机器和应用程序来使用本领域普通技术人员可用的任何合适的特征检测器算法。在一些实施例中,每个独特特征仅指图像或3dpc中的一个点或兴趣点。特征可以存储为包含相对于图像帧定义的坐标的特征数据。在一些实施例中,特征数据还可以包括应用于、关联到、或对应于特征的描述符。术语“特征数据”是指表示特征的数据结构并且可以包括二维位置和多维描述符(例如,参考特征的各种识别属性)。
98.用于识别特征的关键点可以从图像中的各种对象提取。在一些实施例中,对象可以是永久的和/或临时的。在一些实施例中,对象可以是自然的和/或人造的。永久性特征的一个示例是房子的角落。自然特征的一个示例是树干的边缘。临时和人造特征的一些示例包括地面的桩和树上的目标。人造特征可以临时放置并用来增加工作区域内的特征密度(例如,改善3dpc的低质量部分)。可以对人造特征供电,并且,例如,人造特征可以包括用于可由摄像机检测到的可见光或不可见光的光发射器。人造特征可以是无供电的,并且,例如,可以包括可由摄像机检测到的可见或不可见图案。一些人造特征可以被永久性地设置。如本文所使用的,术语“不可见”是指发射或反射人眼不可见的波长的光、但可以发射或反射摄像机(例如自主机器上的红外摄像机)可见的波长。
99.如本文所使用的,术语“描述符”是指由描述符算法产生的二维数据。描述符描述图像上下文中的特征。在一些实施例中,描述符可以描述特征附近或周围的图像中的像素值、图像梯度、尺度空间信息、或其它数据。例如,描述符可以包括特征的取向向量或者可以包括图像块。可以根据特定的自主机器或应用程序来使用本领域普通技术人员可用的为图像中的特征提供上下文的任何合适的描述符算法。描述符可以存储为特征数据的一部分。
100.任何合适的技术,可以包括或利用算法,例如尺度不变特征变换(sift)、加速鲁棒特征(surf)、定向fast和旋转brief(orb)、kaze、加速kaze(akaze)、线性特征跟踪、摄像机
合并、闭环、移动增量结构、或其它合适的算法,都可以用于从图像中提取特征。例如,这样的算法可以提供一个或多个特征和相关的描述符。
101.任何合适的技术,可以包括或利用算法,例如暴力(brute

force)、近似最近邻(ann)、和近似最近邻的快速库(flann),都可以用于特征匹配。暴力算法可以通过选择一个特征并检查用于匹配的所有其它特征来匹配特征。
102.如本文所使用的,术语“三维点云”、“3d点云”、或“3dpc”是表示或包含与从图像提取的特征相对应的三维几何点的数据结构。3dpc可以与各种属性(例如姿态)相关联。在一些实施例中,可以在基于任意参考系的坐标系中定义或不定义几何点和姿态。在一些实施例中,3dpc可以与对应于现实世界的尺度和/或取向相关联或不关联,例如,直到已经执行地图注册过程。可以基于特征匹配数据生成3dpc。可以基于3dpc生成图形或视觉地图,以提供3dpc的人类可见表示。
103.任何合适的技术(其可以包括或利用例如来自移动的结构(sfm)或同时定位和映射(slam)的算法,都可以用来生成3dpc,算法中的任一个都可以例如根据特定的自主机器和应用程序,来用于本公开的各种实施例。
104.可以独立于或从属于视觉系统202和/或导航系统204的控制器,可以基于更新的姿态来命令推进系统206。例如,可以使用修正或更新的位置或取向来向推进系统206提供推进命令。可以将推进系统206(例如推进硬件)限定为包括,例如,马达112、104和轮106、108(图1)或任何相关驱动器(例如,马达控制器或微芯片)。
105.在一些实施例中,自主割草机可以使用机载机器视觉系统和可选的其它基于非视觉的传感器,来学习并随后识别工作区域的边界。视觉系统可以利用一个或多个摄像机,它们一起形成导航系统的一部分,如在于2019年8月7日提交的美国专利申请no.16/534,515中更全面地描述的,通过引用而将该申请并入本文。
106.本公开的技术可以利用现有的摄像机,摄像机可以在非低光照条件下使用(例如,在白天的日光条件)并且可以节省电池电力以促进工作区域在低光照条件下的有效覆盖。
107.在图3中,示出了自主机器导航过程220的一个示例的示意表示。
108.在步骤222,可以检测是否存在低光照条件。例如,可以由导航系统204检测低光照条件。可以基于导航系统204从视觉系统202接收的数据来检测低光照条件。在一些方面,过程220还可以包括当机器在低光照条件下的工作区域中运动时捕获图像数据。
109.在步骤224,可以确定是否更新自主机器的定位。例如,可以由导航系统204确定是否更新定位。在一些实施例中,定位可以包括基于视觉的姿态估计,例如,从视觉系统获取机器位置和取向的新估计。
110.在步骤226,可以由控制器为推进系统206提供命令以通过向推进系统206提供命令来减慢或停止自主车辆运动。可以响应于在步骤224确定更新定位并在步骤222检测到低光照条件而提供减慢或停止运动的命令。
111.在步骤228,可以由控制器为视觉系统202提供命令以记录图像(例如,长曝光或hdr图像)。记录图像可以是自主机器(例如割草机100)的工作区域的图像。可以通过摄像机(例如,摄像机133)在低光照条件或非低光照条件下记录图像。在一些方面,可以由一个或多个摄像机使用由块706中的摄像机捕获配置操作计算的至少一个摄像机捕获配置参数来捕获记录图像(见图7)。
112.在步骤230,可以基于记录图像更新姿态估计。可以使用任何合适的技术来估计姿态,例如在于2019年8月7日提交的美国专利申请no.16/534,515中描述的技术,通过引用而将该申请并入本文。
113.在步骤232,可以恢复运动。在一些实施例中,如果没有低光照条件并且确定了更新定位,则可以跳过步骤226和232。
114.在一些实施例中,割草机100可以以占空比小于割草机在日光导航期间的占空比操作。
115.在图4中,示出了根据一个实施例的自主机器(例如,割草机100)的慢速并凝视或停止并凝视操作的各种功能的示意表示。自主机器的功能可以包括初始化位置、减慢或停止移动、以及运动或操作(例如,割草)。
116.例如,当自主机器退出对接站或基站时,可以使用块420中的初始化位置功能。自主机器可以使用机载照明(例如,照明源140)来照明以位于对接站上或对接站附近的对接目标以执行追踪。可以在有限的或预定的距离上使用机载照明。对接目标可以称为人造特征,其可以通过与工作区域中的其它特征(例如自然特征)相同或不相同的方式来进行处理。在一些实施例中,可以使用不同的技术(例如,不使用3dpc)来处理人造特征。
117.慢速或停止移动或运动功能422可以用于选择性地减慢或停止自主机器运动。例如,当不确定性参数达到阈值并且导航系统需要或请求定位更新时,可以减慢或停止运动。如本文所使用的,术语“不确定性参数”是指整个或部分估计状态的误差的不确定性估计的阈值度量,例如估计位置中的误差不确定性估计。不确定性参数可以与阈值进行比较。在一些实施例中,不确定性参数可以基于可能变大并超过阈值的姿态滤波器协方差。例如,可以基于来自姿态滤波器协方差的估计位置误差来确定阈值。在一些实施例中,可基于扩展卡尔曼滤波器(ekf)参数、姿态滤波器参数、或来自协方差矩阵的参数来确定估计位置误差。当要更新定位时,导航系统(例如,导航系统204)可以与视觉系统(例如,视觉系统202)通信以捕获或记录一个或多个长曝光图像,例如,使用与标称、日光、或非低光照条件下的曝光时间相比更长的曝光时间来记录每个图像。
118.视觉系统可以评估每个记录图像的图像质量。如果记录图像的质量低于阈值,则视觉系统可以确定需要调整曝光时间。如果需要调整,则视觉系统可以调整曝光时间并记录调整后的曝光时间下的另一图像。如果记录图像的质量达到或超过质量阈值,则可以处理图像以确定自主机器的姿态。在一些实施例中,可以将姿态报告或提供给自主机器的姿态过滤器。
119.块424中的割草或运动功能可以用于使自主机器运动。自主机器,例如,在减慢或停止以记录低光照图像之后,可以开始或恢复运动。在一些实施例中,自主机器可以在运动的同时切割或割草。自主机器可以运动有限的时间或距离,例如,直到需要或请求定位更新。
120.在运动期间,姿态滤波器协方差可能增大。姿态滤波器协方差可能随其增大而接近或超过阈值,阈值可以用于确定是否记录低光照图像。
121.在图5中,示出了在自主机器导航期间,在视觉系统202和导航系统204之间的关系的一个示例。姿态估计模块404可以提供可以称为基于视觉的姿态的估计姿态。可以将来自姿态估计模块404的基于视觉的姿态数据提供给导航系统204、返回到姿态过滤器406、返回
到特征匹配模块402或这些操作地任意组合。在一些实施例中,姿态数据也可以直接传送到任何控制器,例如导航系统204的控制器。在一些实施例中,可以替代特征匹配模块402或除了特征匹配模块402之外使用机器视觉模块,机器视觉模块可以例如利用神经网络或其它合适的机器视觉技术来促进姿态估计。导航系统204还可以向视觉系统202提供命令或信息以在低光照条件下例如使用更长的曝光和/或照明来记录图像。
122.姿态过滤器406可以使用姿态数据来识别哪些姿态是可能的并提供过滤的姿态数据。可以将来自姿态过滤器406的过滤的姿态数据提供回特征匹配模块402,以例如,基于过滤的姿态数据识别可能场景中的某些场景,用来与捕获到的图像中的特征进行特征匹配,这可以促进更快的整体特征匹配。可以将来自姿态滤波器406的过滤的姿态数据提供给姿态估计模块404,以例如基于过滤的姿态数据识别可能姿态中的某些姿态,这可以促进更快的姿态估计。
123.在一些实施例中,姿态过滤器406可以使用来自其它传感器,例如imu、轮编码器、gps、或光学编码器(例如,图1的传感器132),的先前姿态估计信息来过滤姿态。图2的导航系统204可以使用独立的姿态过滤器。可以比较来自不同姿态过滤器的结果输出或姿态数据,以对任一输出进行校正或作为对任一输出的冗余检查。在一些方面,姿态过滤器406可以选择导航地图中的特定场景(例如,少于导航地图中的所有场景)以与从低光照图像提取的特征进行特征匹配。使用姿态过滤器406可以促进更快的基于视觉的姿态估计或定位。
124.在图6中,示出了根据本公开的一个实施例的用于图1的机器的自主机器导航处理440的示意表示。
125.在步骤442,可以确定与当前姿态和过滤的姿态数据对应的不确定性参数。不确定性参数可由控制器(例如,导航系统204的控制器)或特征匹配模块402确定。不确定性参数的一个非限制性示例是使用姿态滤波器确定的协方差。在步骤444,可以确定不确定性参数是否超过阈值。如果不确定性参数没有超过阈值,则过程可以返回到步骤442。如果不确定性参数确实超过了阈值,处理440可以推进到步骤446。在步骤446,响应于不确定性参数超过阈值,而可以减慢或停止自主机器运动。减慢或停止自主机器可以包括向推进系统(例如,推进系统206)提供命令。在一些实施例中,机器可以在自然路径位置或附近减慢或停止。例如,在机器在非低光照条件下正常地减慢或停止并转弯的收容区或工作区域,机器可以在其下一个边界处减慢或停止导航。在导航期间使用自然减慢或停止来拍摄长曝光图像可以促进在低光照条件下更快地覆盖工作区域。在步骤448,可以在自主机器减慢或停止时记录至少一部分工作区域的图像。
126.图7是示出使用图1的割草机100在低光照条件下导航的方法的一个示例的流程图。如图所示,方法700包括块702中的一个或多个摄像机的工厂光度校准。工厂光度校准可以称为摄像机校准数据,其可以作为摄像机配置数据存储在块708(例如,在割草机100(图1)的存储器中)中。一般而言,摄像机配置数据可以包括摄像机校准数据和/或摄像机捕获配置数据。
127.由块702中的工厂光度校准提供的摄像机校准数据可以包括校准过的辐照度映射数据。校准过的辐照度映射数据可以用于将一个或多个摄像机捕获的像素强度转换为辐照度。
128.可以使用任何合适的数据结构来将像素强度映射到辐照度。在一些方面,查找表
(lut)用于将像素强度转换为辐照度。像素强度可以用于描述灰度或颜色空间,例如rgb。在一些方面,像素强度的范围从0到255。辐照度可以用于描述由每单位面积的表面接收的辐射通量(功率)。在某些方面,辐照度以瓦特每平方米(w/m2)为单位进行测量。
129.由块702中的工厂光度校准提供的摄像机校准数据还可以包括可用于捕获图像数据的一个或多个摄像机捕获参数。与块702中的工厂光度校准共同提供的摄像机捕获参数也可以称为初始、标称、或工厂默认摄像机捕获参数。在一些方面,一个或多个摄像机捕获参数可以包括曝光时间、增益、和主动照明强度中的一个或多个。例如,可以由一个或多个照明源140(图1)提供主动照明强度。
130.方法700还可以包括块704中在工作区域中的机器操作。在工作区域中的机器操作期间,割草机100可以在整个工作区域中运动以执行各种操作,例如割草皮。在低光照条件下,割草机100可以根据需要减慢或停止以执行基于视觉的定位。在一些方面,割草机100可以,例如,通过配置操作期间的摄像机捕获参数,来将在机器操作期间减慢或停止的时间量最小化。
131.在方法700的块706中可以包括摄像机捕获配置操作。块706中的摄像机捕获配置操作可以用于更新一个或多个摄像机捕获参数,摄像机捕获参数可以称为摄像机捕获配置数据,并且可以存储在块708中的摄像机配置数据中。一个或多个摄像机捕获参数可用于在低光照条件下捕获图像。块708中存储的摄像机配置数据还可以用作块706中的后续摄像机捕获配置数据操作的初始估计。块706中的摄像机捕获配置操作可以在工作区域中的机器操作期间使用。在一些方面,摄像机捕获配置操作可以在割草机100运动或正在运动时捕获图像数据。在一些方面,摄像机捕获配置操作还可以在割草机100减慢或停止时捕获图像数据。
132.一旦块706中的摄像机捕获配置操作完成,方法700可以返回到块704中的在工作区域中的机器操作。虽然一个操作可以在开始另一操作之前完成,但是在其它实施例中(见图8),块704中的机器操作和块706中的摄像机捕获配置操作也可以同时或以其它方式并行执行。
133.图8是示出了可使用图1的割草机100在低光照条件下的机器操作方法的一个示例的流程图。如图所示,机器操作的方法800可以包括块706中的用于摄像机捕获配置操作的一个或多个处理和块704中的用于工作区域中的机器操作的一个或多个处理。
134.摄像机捕获配置操作可以包括块802中的在机器操作期间的机器图像捕获。特别地,割草机100(图1)可以在捕获摄像机捕获配置使用的图像的同时,运动或以其它方式穿过工作区域。摄像机捕获配置操作还可以包括块804中的自动摄像机捕获配置。在一些情况下,自动摄像机捕获配置也可以称为自动曝光控制(aec)。一般而言,块804中的自动摄像机捕获配置可以提供捕获图像使用的至少一个摄像机捕获参数,其在块708中可以作为摄像机捕获配置数据存储在摄像机配置数据中,特别是用于定位。至少一个先前确定的摄像机捕获参数也可以用于在自动摄像机捕获配置中捕获初始图像。
135.块704的机器操作可以包括块806中的机器导航。割草机100可以使用基于非视觉和基于视觉的导航技术例如相结合以在工作区域周围导航。在一个方面,割草机100可以连续使用航位推算来在工作区域中导航,这可通过间歇性的基于视觉的定位来增强例如以不时地校正割草机的位置。
136.机器操作还可以包括块808中的不确定性参数计算。不确定性参数计算可以确定不确定性参数并将不确定性参数与阈值进行比较。在一些方面,不确定性参数可以基于可以变大并且可以超过阈值的姿态滤波器协方差来确定。例如,可以基于来自姿态滤波器协方差的估计位置误差来确定阈值。
137.在块810中可以将不确定性参数与不确定性阈值进行比较。在一些方面,响应于不确定性参数不超过不确定性阈值,而可以在块806中将机器操作返回到机器导航。在一些方面,响应于不确定性参数超过不确定性阈值,而可以使机器操作采取其它行动。
138.在一些方面,不确定性阈值是基于与工作区域的边界的距离来确定的。特别地,与割草机远离工作区域的边界时相比,割草机100离工作区域的边界越近,不确定性阈值可以越小或越低(例如,容忍越小的不确定性)。
139.机器操作可以包括在块812中减慢或停止机器以定位。在一些方面,割草机100可减慢或停止并捕获图像以执行基于视觉的定位,这可以包括特征提取、特征匹配、和姿态估计。
140.在块814中可以捕获定位使用的图像。用于捕获定位使用的图像的一个或多个摄像机可以是用于执行摄像机捕获配置的相同摄像机。可以使用存储在块708中的摄像机配置数据中的摄像机配置数据来配置一个或多个摄像机。通常,定位使用的图像捕获在低光照条件下可以是几秒或几十秒的量级。
141.在块816中可以确定机器姿态的估计更新。机器姿态估计可以基于来自图像捕获的定位来更新。
142.可以在块818中检查不确定性参数。例如,可以确定与当前姿态估计和过滤的姿态数据对应的不确定性参数。响应于不确定性参数没有超过不确定性阈值,而可以将机器操作返回到块806中的机器导航。响应于不确定性参数超过不确定性阈值,可以将机器操作循环回到块814中的定位图像捕获。在一些方面,可以用不同于先前在定位图像捕获中使用的一个或多个摄像机捕获图像。
143.图9是示出可以在摄像机捕获配置操作期间使用的自动摄像机捕获配置的一个示例的流程图。如图所示,方法804中的自动摄像机捕获配置可以包括在块902中使用一个或多个初始摄像机捕获参数捕获初始图像(或捕获到的图像)以生成初始图像数据。如本文所描述的,割草机100(图1)可以在针对摄像机捕获配置捕获图像的同时运动。
144.可以在块904中确定捕获到的场景参数是否可接受。可接受的捕获到的场景参数也可以称为“曝光良好”。可以基于初始图像的初始图像数据来确定捕获到的场景参数。可以使用任何合适的捕获到的场景参数来评估初始图像。在一些方面,捕获到的场景参数可以包括或对应于初始图像数据中的像素强度的平均值。可以将捕获到的场景参数与捕获到的场景参数阈值(例如其它“良好曝光的衡量标准”的算数平均(或平均)像素强度阈值)进行比较。在一个示例中,捕获到的场景参数在超过捕获到的场景参数阈值时可以是可接受的。在另一示例中,捕获到的场景参数在落入限定至少一个可接受范围的至少两个捕获到的场景参数阈值内时,可以是可接受的。
145.方法804响应于确定捕获到的场景参数是可接受的,而可以在块926提供对摄像机捕获配置数据的至少一个摄像机捕获参数的更新。至少一个更新的摄像机捕获参数可以用于捕获后续图像以进行摄像机捕获配置或定位。
146.在一些方面,为一个或多个摄像机确定和/或由一个或多个摄像机使用的参数可以根据任何合适的启发法来平衡或优先化。在一个示例中,一个或多个摄像机捕获参数或测试摄像机捕获参数可以至少提供计算的曝光时间。可以选择曝光时间阈值。可以基于摄像机曝光所允许的最大时间量(例如,12秒)来选择曝光时间阈值。由方法804确定的曝光时间可以与曝光时间阈值进行比较。
147.响应于计算的至少一个摄像机捕获参数的曝光时间超过曝光时间阈值,而可以计算减少的曝光时间以供一个或多个摄像机使用。基于曝光时间的减少量(从计算的曝光时间到减少后的曝光时间),可以增加或以其它方式选择增益以供一个或多个摄像机使用。曝光时间和增益的平衡可以提供等效于或几乎等效于由方法804计算的曝光时间的有效曝光时间。
148.在块906中,可以将第一遮掩应用于初始图像以提供遮掩的初始图像并生成遮掩的初始图像数据。方法804可以响应于确定捕获到的场景参数不可接受而应用第一遮掩。在块920中,可以根据可以存储在割草机100的存储器中的第一遮掩配置来应用第一遮掩。
149.任何合适类型的遮掩都可以用于第一遮掩。在一些方面,遮掩可以包括硬或软的边缘裁剪选项。硬边缘裁剪可以称为图像裁剪。硬边缘裁剪对于从图像中移除已知物体(例如割草机的护罩或地表面(例如,草))可能特别有用。软边缘裁剪可以称为朝向图像边界的几何梯度,并且也可以称为加权遮掩。任何合适类型的几何梯度或形状都可以用于软边缘裁剪。
150.在一些情况下,所使用的遮掩可以是静态的或预定的,而在其它情况下,遮掩可以是自适应的或基于规则可适应的。自适应遮掩可以帮助评估场景的区域。在一些方面,自适应遮掩可以在像素强度或辐照度“饱和”的图像区域周围建立较低的权重。例如,自适应遮掩可以帮助在与来自门廊灯的255强度相关联的“饱和”像素区域上放置较低的权重(例如,忽略),并在“饱和”区域附近的像素上放置较低的权重。因为可能无法从与0强度相关联的“空”像素区域为摄像机捕获配置提供有用信息,自适应遮掩还可以在这些区域上放置较低的权重。
151.在块908中,可以基于初始图像数据或遮掩的初始图像数据生成辐照度图像以提供辐照度图像数据。可以基于校准过的辐照度映射数据生成辐照度图像数据,校准过的辐照度映射数据可在块924提供,并且可以在块708中(图7)作为摄像机校准数据存储在割草机100的存储器的摄像机配置数据中。校准过的辐照度映射数据可以包括将像素强度转换为像素辐照度的数据。可以通过这种方式将图像数据中的每个像素从像素强度转换为像素辐照度。校准过的辐照度映射数据可以被构造为lut。
152.在块910中可以确定一个或多个测试摄像机捕获参数。可以基于辐照度图像数据来确定测试摄像机捕获参数。例如,如果平均辐照度高于平均辐照度阈值,则可以选择一个或多个测试摄像机捕获参数以提供比用于捕获初始图像的一个或多个初始摄像机捕获参数更少的曝光。在一些方面,在块926中作为摄像机捕获配置数据存储的先前测试摄像机捕获参数(也可以从图7的块702中的工厂光度校准生成)可以用作当前测试摄像机捕获参数的初始估计。
153.在块912中可以生成模拟图像以提供模拟图像数据。如果使用一个或多个测试摄像机捕获参数代替一个或多个初始摄像机捕获参数来捕获初始图像,则场景的模拟图像可
以表示将捕获到的图像数据的估计。在一些方面,模拟图像数据由像素强度定义。
154.在块914中,可以将第二遮掩应用于模拟图像以提供遮掩的模拟图像并生成遮掩的模拟图像数据。第二遮掩可以与第一遮掩相同或不同,并且可以利用第一遮掩可用的任何遮掩。在块922中,可以根据也可以存储在割草机100的存储器中的第二遮掩配置应用第二遮掩。在一些方面,第一遮掩是硬边缘裁剪的静态遮掩并且第二遮掩是软边缘裁剪的自适应遮掩。
155.可以在块916中确定模拟场景参数是否可接受。可接受的模拟场景参数也可以称为“曝光良好”。模拟场景参数可以基于模拟图像数据或遮掩的模拟图像数据来确定。可以使用任何合适的模拟场景参数来评估模拟图像。在一些方面,模拟场景参数可以包括或对应于模拟图像数据中像素强度的平均值。模拟场景参数可以与模拟场景参数阈值(例如算数平均(或平均)像素强度阈值)进行比较。在一个示例中,模拟场景参数在超过模拟场景参数阈值时,可以是可接受的。在另一示例中,模拟场景参数在落入限定至少一个可接受范围的至少两个模拟场景参数阈值内时,可以是可接受的。
156.方法804响应于确定模拟场景参数是可接受的,而可以在块926中提供对摄像机捕获配置数据的至少一个摄像机捕获参数的更新。至少一个更新的摄像机捕获参数可以用于捕获后续图像,以进行摄像机捕获配置或定位。方法804响应于确定模拟场景参数是不可接受的,而可以返回确定不同于一个或多个先前测试摄像机捕获参数的一个或多个更新的测试摄像机捕获参数。
157.可以使用任何合适的技术来确定更新的测试摄像机捕获参数。在一些方面,二叉搜索树可以用于确定下一个或更新的测试摄像机捕获参数。方法804可以继续迭代直到测试摄像机捕获参数提供可接受的模拟场景参数、直到算法在下一次定位图像捕获之前用完时间、直到已经超过预定时间、或者直到确定找到可能的测试摄像机捕获参数的解决方案是发散的(例如,不容易解决)。在这些情况下,可以使用基于非视觉的技术来定位割草机100。在一些方面,可以使用gps数据。
158.一般而言,在摄像机捕获配置期间,可以将测试或试验摄像机捕获参数选择得更大或更小,例如曝光时间比先前的摄像机捕获参数更长或更短,以将模拟场景参数驱动到目标值。对应用程序合理的曝光时间搜索窗口,例如割草应用程序是30微秒到12秒。
159.主动照明强度也可以以类似的方式与曝光时间和增益平衡。也可以由特定机器的摄像机控制范围(例如,具有最大曝光时间或增益或最大主动照明功率的摄像机)来选择或限制曝光时间、增益、和主动照明强度参数中的一个或多个。
160.在一些方面,摄像机增益的影响可以有效地用作曝光时间的乘数。通常,可能不需要高增益,并且可能也不需要很长的曝光时间。可以平衡两个摄像机捕获参数。换句话说,计算的或标称的曝光时间可以转换为参数的组合。例如,如果选定的曝光时间小于阈值(例如,2秒),则增益可以设置为0db,并且曝光时间可以设置为计算值。如果计算的曝光时间大于阈值,则可以减少曝光时间并设置为阈值(例如2秒),并且可以将增益选择为正确值,以有效地将减少的曝光时间乘以计算的曝光时间。例如,计算的曝光时间可以是8秒,并且得到的摄像机捕获参数可以是2秒的曝光时间和12db的增益。
161.因此,公开了在低光照条件下自主机器导航的各种实施例。尽管本文参考了构成本公开的一部分的附图组,但至少一本领域普通技术人员将理解,对本文描述的实施例的
各种改编和修改处于或不脱离本公开的范围。例如,本文描述的实施例的各方面可以通过多种方式彼此组合。因此,应当理解,在所附权利要求的范围内,所要求保护的发明可以通过不同于本文明确描述的方式实施。
162.除非任何方面直接与本公开内容相矛盾,否则本文引用的所有参考和出版物都明确地通过引用整体而通用地并入本文。
163.除非另有说明,否则本文使用的所有科学和技术术语均具有本领域常用的含义。本文提供的定义是为了便于理解本文经常使用的某些术语,并不意味着限制本公开的范围。
164.除非另有说明,否则在说明书和权利要求中使用的所有表达特征尺寸、数量和物理性质的数字都可以理解为被术语“精确地”或“大约”修饰。因此,除非有相反说明,否则前述说明书和所附权利要求中阐述的数值参数是近似值,并且可以根据本领域技术人员利用本文公开的教导或例如在实验误差的典型范围内寻求获得的期望特性而变化。
165.术语“耦接”或“连接”是指元件直接(彼此直接接触)或间接(在两个元件之间具有一个或多个元件并附接两个元件)彼此附接。任一术语都可以替换为“可耦接”或“可连接”以描述元件配置为耦接或连接。此外,任一术语都可以用“可操作的”和“可操作地”(它们可以互换使用)来修饰,以描述耦接或连接配置为允许部件相互作用以执行功能。
166.如本文所使用的,除非本公开的内容另有明确规定,否则术语“配置为”可以与术语“适应于”或“构建为”互换使用。
167.短语“至少一个”、“包括至少一个”、和“一个或多个”后跟一个列表是指列表中的任何一个项目和列表中两个或多个项目的任何组合。
168.如本文所用,“具有”、“具有的”、“包括”、“包括的”、“包含”、“包含的”等以其开放式意义使用,并且通常表示“包括但不限于”。应当理解,“基本上由
……
组成”、“由
……
组成”等包含在“包括”等中。
169.一般而言,术语“方面”和“实施例”可以互换使用以描述本公开的一个或多个示例。对“单个实施例”、“一个实施例”、“某些实施例”或“一些实施例”等的引用意味着在本公开的至少一个实施例中包括结合实施例(或方面)描述的特定特征、配置、组成、或特性。因此,自始至终在各种地方出现的此类短语不一定指代本公开的同一实施例。此外,在一个或多个实施例中,可以通过任何合适的方式组合特定特征、配置、组成、或特性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1