用于校准方向盘中性位置的系统和方法与流程
2021-02-06 23:02:36|180|起点商标网
[0001]
本文描述的主题一般涉及用于校准车辆方向盘的系统和方法,并且更具体地说,涉及利用由前方传感器和后方传感器收集的数据以帮助确定方向盘校准调整。
背景技术:
[0002]
自主车辆和车辆中的驾驶员辅助系统包括转向系统,该转向系统可以包括一个或多个方向盘位置传感器以及基于来自方向盘位置传感器的数据输出方向盘角度的电子控制单元(ecu)。转向系统ecu可以限定相对于方向盘的中性位置的转向角度。
[0003]
通常,中性位置(即,零度转角)应对应于车辆预计沿直线路径行驶的方向盘(和相关联的部件)的位置。车辆中的各种系统可以参考中性位置,例如,以预测车辆的直线路径、控制车辆沿着直线路径或提供不同类型的操作者辅助,诸如泊车辅助、动力转向或稳定性辅助。然而,随着时间的推移,例如,由于齿轮的普通磨损或其它偶然因素,诸如事故、引入新零件(例如新轮胎)或新配置(例如,轮胎的旋转),中性位置可能无法完全符合车辆的直线向前行驶。
技术实现要素:
[0004]
所公开的系统和方法涉及改进车辆转向系统的中性位置的校准和确定。
[0005]
在一个实施例中,一种车辆的校准系统包括:一个或多个前方传感器,被配置为获取关于至少在车辆前方的环境的信息;一个或多个后方传感器,被配置为获取关于至少在车辆后方的环境的信息;方向盘传感器,生成指示车辆的方向盘的角度位置的输出数据;一个或多个处理器;以及存储器,可通信地耦合到该一个或多个处理器并且存储:包括指令的检测模块,该指令当由该一个或多个处理器执行时使得该一个或多个处理器至少基于由该一个或多个前方传感器生成的第一数据检测物体并且至少从该第一数据确定多个数据点,每个数据点至少指示物体的实例相对于车辆的位置和捕获的时间;以及包括指令的校准模块,该指令当由该一个或多个处理器执行时使得该一个或多个处理器至少部分地基于多个数据点确定物体的轨迹,基于轨迹确定物体的预测位置,基于由该一个或多个后方传感器生成的第二数据确定物体的实际位置,确定预测位置和实际位置之间的差异,并且基于差异确定要施加于来自方向盘传感器的输出数据的校正偏移。
[0006]
在另一实施例中,一种校准车辆的转向系统的方法,该转向系统包括输出指示车辆的方向盘的位置的数据的方向盘传感器,该方法包括:基于由车辆的一个或多个前方传感器生成的第一数据检测在车辆前方的物体;基于由车辆的一个或多个后方传感器生成的第二数据检测在车辆后方的该物体;基于该第一数据和来自方向盘传感器的输出数据确定物体的轨迹;基于轨迹确定物体的估计位置;确定该第二数据指示在物体的估计位置和物体的实际位置之间存在差异;以及基于差异确定要施加于来自方向盘传感器的输出数据的校正偏移调整。
[0007]
在又一实施例中,一种用于校准车辆的转向系统的非暂时性计算机可读介质,该
转向系统包括输出指示车辆的方向盘的位置的数据的方向盘传感器,该非暂时性计算机可读介质包括当由一个或多个处理器执行时使得该一个或多个处理器进行如下操作的指令:基于由车辆的一个或多个前方传感器生成的第一数据检测在车辆前方的物体;基于由车辆的一个或多个后方传感器生成的第二数据检测在车辆后方的该物体;基于该第一数据和来自方向盘传感器的输出数据确定物体的轨迹;基于轨迹确定物体的估计位置;确定该第二数据指示在物体的估计位置和物体的实际位置之间存在差异;以及基于差异确定要施加于来自方向盘传感器的输出数据的校正偏移调整。
附图说明
[0008]
并入说明书中并构成说明书的一部分的附图图示本公开的各种系统、方法和其它实施例。要理解的是,图中的所图示的要素边界(例如,框、框组或其它形状)代表边界的一个实施例。在一些实施例中,一个要素可以被设计为多个要素,或者,多个要素可以被设计为一个要素。在一些实施例中,示出为另一要素的内部部件的要素可以被实现为外部部件,并且反之亦然。此外,要素可能没有按比例绘制。
[0009]
图1图示车辆的一个实施例,在该车辆内可以实现本文所公开的系统和方法。
[0010]
图2图示根据所公开的实施例的校准系统的一个实施例。
[0011]
图3图示示例场景,在该示例场景中可以执行根据所公开的实施例的校准循环。
[0012]
图4图示示例方向盘和与示例中性位置相关的方面。
[0013]
图5图示根据所公开的实施例的校准循环的流程图。
具体实施方式
[0014]
公开了与校准车辆的方向盘系统相关联的系统、方法和其它实施例。如先前所提及的,位于中性位置的车辆方向盘应该使得车辆以大致直线行驶。然而,随时间推移由于各种因素,诸如普通磨损、强烈碰撞等,车辆在方向盘处于中性位置的情况下的真实方向可能不准确。
[0015]
因此,公开了校准系统和相关联的方法,该校准系统和相关联的方法提供用于评估当前中性位置的精确度并且在必要的情况下确定或调整中性位置的偏移值的改进技术。所公开的方法可以通过一致地确定和保持说明中性位置的移位的高度精确的转向模型来增强与本车(ego vehicle)的自主操作相关的各种功能。
[0016]
在一种方法中,所公开的校准系统包括被设置在车辆的前方区域处的获得关于至少在车辆前方的环境的信息的一个或多个前方传感器以及被设置在车辆后方区域处的获得关于至少在车辆后方的环境的信息的一个或多个后方传感器。前方传感器和后方传感器可以被实现为例如相机、雷达、激光雷达或可以捕获适于物体检测的信息的其它类型的传感器。
[0017]
在一个或多个实施例中,所公开的校准系统在车辆运动时进行操作。通常,校准系统可以分析来自一个或多个前方传感器的数据,以识别和检测在车辆前方的目标物体。目标物体可以是任何静止的物体,诸如车道标记、反射器、标志等。校准系统可以例如通过在车辆接近并通过目标物体时捕获前进位置中的物体的多个实例来跟踪目标物体的位置。校准系统可以以坐标形式或其它位置形式将所跟踪的位置记录为“数据点”。
[0018]
本文所使用的“数据点”可以被限定为至少指示目标物体的位置的数据。数据点可以包括以各种方式中的任一种指示位置的信息,诸如指示目标物体和车辆之间的直接距离的信息、目标物体相对于车辆的坐标(例如,在以车辆100的中心为点(0,0)的相对坐标系中)、目标物体的地理坐标(诸如全球定位系统(gps)坐标)或其它类型的位置信息。数据点还可以包括附加信息,诸如相应的方向盘角度、时间戳或其它上下文信息。
[0019]
所公开的校准系统可以在车辆通过目标物体后分析来自一个或多个后方传感器的数据以识别目标物体。同样,校准系统可以例如通过在车辆移动离开目标物体时捕获后退位置中的物体的多个实例来跟踪目标物体的位置。校准系统可以将后退位置记录为附加数据点。
[0020]
在记录了阈值数量的数据点之后,校准系统可以确定对目标物体的轨迹建模的轨迹函数。轨迹函数可以接收诸如数据点、车辆方向盘角度和车辆速度之类的输入。基于轨迹函数,校准系统可以确定目标物体在车辆后方的一定距离处的预测位置,并确定由后方数据指示的实际位置是否与预测位置对准。如果实际位置和预测位置未对准,则校准系统可以确定方向盘中性位置是错误的,并确定方向盘中性位置的偏移值的校正向量(例如,量和方向)。因此,通过收集和分析来自车辆的前方和后方的数据,所公开的校准系统可以改进对方向盘未对准的检测,并持续改进方向盘中性位置的校正偏移。
[0021]
参照图1,图示车辆100的示例。如本文所使用的,“车辆”是任何形式的动力运输工具。在一个或多个实施方式中,车辆100是汽车。虽然本文将关于汽车描述布置,但是要理解的是,所公开的主题的实施例不限于汽车。在一些实施方式中,车辆100可以是机器人设备或动力运输工具形式,该机器人设备或动力运输工具形式例如被配备为与车辆或其它设备通信并且包括感知周围环境的方面的传感器,并因此受益于本文讨论的功能例如以确定转向系统精确度和校正偏移。
[0022]
如图1所示,车辆100包括多个要素。要理解的是,在各种实施例中,车辆100可能不一定要具有图1中所示的所有要素。车辆100可以具有图1所示的各种要素的任意组合。此外,车辆100可以具有图1所示的要素之外的附加要素。在一些布置中,可以在没有图1所示的要素中的一个或多个的情况下实现车辆100。虽然在图1中各种要素被示为位于车辆100内,但要理解的是,这些要素中的一个或多个可以位于车辆100外部。此外,所示的要素可以在物理上分开大的距离。
[0023]
车辆100的可能要素中的一些如图1所示,并将与随后的附图一起进行描述。然而,在本说明书中,为简洁起见,在讨论图1-图5之后,将提供对图1中的许多要素的更详细的描述。要理解的是,为了说明的简单和明了,在适当的情况下,附图标记在不同的附图中被重复以指示相应的或类似的要素。此外,虽然讨论概述了大量的特定细节以提供对本文所描述的实施例的透彻理解,但是本领域技术人员将理解,可以使用这些要素的各种组合来实践本文所描述的实施例。
[0024]
在任何情况下,车辆100包括传感器系统120、控制车辆的转向功能的转向系统143和被实现为执行本文公开的与检测和校正转向系统143中的对准误差有关的方法和其它功能的校准系统170。所述功能和方法在下面对附图的讨论中将变得更加清楚。
[0025]
参照图2,图示了图1的校准系统170的一个实施例。校准系统170被示为包括来自图1的车辆100的处理器110和数据库119以及存储器210。
[0026]
在一个或多个实施例中,处理器110可以是校准系统170的一部分,校准系统170可以包括与车辆100的处理器110分开的处理器,或者校准系统170可以通过数据总线或另一通信路径访问处理器110。
[0027]
除其它信息外,数据库119可以存储将在以下进一步依次描述的传感器数据240、数据点250和校正偏移260。在一个或多个实施例中,数据库119是电子数据结构,该电子数据结构可以被存储在存储器210中或另一数据存储装置中,诸如车辆100数据存储装置115、基于云的存储装置、可移除存储器设备或存储在存储器210中的模块220和230可访问的另一个合适位置中。数据库119被配置有可由处理器110执行以分析所存储的数据、提供所存储的数据、组织所存储的数据等的例程。因此,在一个实施例中,数据库119存储由模块220和230在执行各种功能时使用的如上所述的数据以及其它类型的数据。
[0028]
此外,存储器210可以存储检测模块220和校准模块230。存储器210可以被实现为随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器、闪存或用于存储模块220和230的其它合适存储器。例如,模块220和230可以被构造为当由处理器110执行时使得处理器110执行本文公开的各种功能的计算机可读指令。
[0029]
检测模块220通常被构造为包括指令,这些指令用于控制处理器110以基于对由传感器系统120的一个或多个“前方传感器”(例如,被设置为捕获关于在车辆100前方的区域或环境的信息的传感器)生成的第一数据的分析来检测在车辆100前方的目标物体,并且随后基于对由传感器系统120的一个或多个“后方传感器”(例如,被设置为捕获关于在车辆100后方的区域或环境的信息的传感器)生成的第二数据的分析来检测在车辆100后方的目标物体。检测模块220可以使用各种基于机器学习或基于深度学习的方法(诸如支持向量机(svm)或卷积神经网络(cnn))中的任何一种以执行物体检测。
[0030]
在一个或多个实施例中,第一数据和第二数据可以包括例如当车辆100接近并随后经过目标物体时由传感器系统120的前方传感器和后方传感器捕获的物体的实例的多个图像捕获。检测模块220可以分析所捕获的图像以执行物体检测、定位目标物体并提取多个数据点215,这些数据点215可以暂时被存储在数据库119中。如上所述,每个数据点250可以至少指示目标物体的实例的位置(例如,相对坐标)。
[0031]
校准模块230通常包括指令,这些指令用于控制处理器110以至少部分地基于从由传感器系统120的前方传感器获得的第一数据提取的数据点250来确定目标物体的轨迹,并且基于轨迹来确定物体的预测位置。在确定预测位置之后,校准模块230可以基于对由传感器系统120的后方传感器获得的第二数据的分析来确定在车辆100后方的物体的实际位置。当预测位置和实际位置之间存在差异时,校准模块230可以基于该差异来确定或调整中性位置校正偏移。
[0032]
如下面将进一步详细讨论的,在一个或多个实施例中,校准模块230可以至少部分地基于根据方向盘传感器的车辆100的方向盘的位置、多个数据点和车辆100的速度中的一个或多个来确定轨迹函数。
[0033]
如图2所示,校准系统170可以包括或可操作地连接到可以包括方向盘传感器的转向系统143以及可以包括一个或多个前方传感器和一个或多个后方传感器的传感器系统120。在一个或多个实施例中,前方传感器和后方传感器可以被实现为包括例如相机、雷达传感器、声纳传感器或激光雷达传感器中的一个或多个或能够捕获适于执行物体检测的类
型的图像的其它类型的传感器。
[0034]
因此,传感器系统120可以生成传感器数据240,该传感器数据240被传送到数据库119以存储。如本文所使用的,“传感器数据”可以包括指示车辆100附近的物体(诸如其它车辆、道路的车道、行人、标志等)的所捕获的原始数据以及环境数据(诸如天气、温度等)。传感器数据240还可以包括其它信息,诸如时间戳信息、指示诸如数据源之类的附加信息的元数据等。因此,如上所述,传感器数据240可以提供信息,校准系统170的部件可以使用该信息以跟踪目标物体以及获得车辆100和目标物体之间的相对测量结果。
[0035]
检测模块220和校准模块230可以在循环中协同作用,以分析传感器数据240、生成数据点250以及确定转向系统143的中性位置偏移调整。图3图示了简化示例场景,在该简化示例场景中发生根据所公开的主题的转向系统校准循环。车辆100沿着道路310的大致直线的区段行驶。虽然所公开的校准系统170可以在弯曲的道路上执行校准循环,但是行驶直线可以提供用于校准转向系统143的中性位置(即,直线)的改进精确度。因此,在一个或多个实施例中,检测模块220可以访问地图数据116(图1)或例如来自云服务器的其它可用的地图数据,以识别在前行驶直线,在该在前行驶直线中发起一个或多个校准循环。
[0036]
在校准循环开始时,传感器系统120的前方传感器捕获初始图像。检测模块220可以分析图像、识别目标物体以及确定指示目标物体的位置的数据点315。
[0037]
通常,目标物体是检测模块220可以确定在车辆前面至少阈值距离t的静止物体,其中,t是以车辆100正在行驶的当前速度足以允许校准系统170有充分时间获得阈值数量的数据点250的值。在一个或多个实施例中,目标物体可以是检测模块220例如通过利用多个样本进行训练已学习识别的预定物体,诸如车道标记。可替代地,在一个或多个实施例中,传感器系统120可以捕获多个图像,检测模块220可以分析该多个图像以识别和选择合适的目标物体。例如,检测模块220可以对其可以识别物体的置信程度进行评价,其中可在阈值置信度水平以上进行识别的给定物体被选择为目标物体。
[0038]
在任何情况下,检测模块220在指示目标物体位于车辆前面阈值距离t之外的所捕获的图像中识别目标物体,然后确定目标物体的数据点315。当车辆100接近并通过目标物体时,传感器系统120的传感器捕获包括目标物体的多个图像。例如,在一个或多个实施例中,传感器系统120的前方传感器可以以高频(例如每秒60个图像)捕获图像,以获得足够大小的数据点集。检测模块220分析多个图像以确定目标物体的附加数据点320。
[0039]
在已确定阈值数量的数据点320之后,校准模块230至少部分地基于多个数据点320确定轨迹函数。例如,在一个或多个实施例中,校准模块230可以在已由检测模块220生成120个数据点之后确定轨迹函数。
[0040]
存在校准模块230可以确定或创建轨迹函数的多个方式。在一个或多个实施例中,校准模块230可以基于数据点320和一个或多个附加输入因素(诸如车辆速度、方向盘传感器输出、数据的时间等)确定轨迹函数。在一个或多个实施例中,校准模块230可以通过使用插值技术(诸如线性插值或多项式插值)以基于根据(即,如由转向系统143的方向盘传感器的输出指示的)方向盘角度的度数移位的数据点320的线或曲线生成函数,确定轨迹函数。
[0041]
例如,参照图3,转向系统143的方向盘传感器可以输出指示方向盘当前转动3.2度的数据。基于数据点320、方向盘传感器输出数据和车辆100的速度,校准模块230可以确定轨迹曲线330,该轨迹曲线330指示估计位置340,在估计位置340处目标物体应被设置在车
辆后方距离r处。校准模块230可以分析来自后方传感器的数据以确定目标物体的实际位置350。
[0042]
实际位置350和估计位置340之间的差异360指示由方向盘传感器确定的转向角度是错误的。即,例如,当方向盘传感器指示方向盘的当前角度为3.2度时,实际上,转向系统143表现出更低的有效角度,诸如1.1度。因此,当校准模块230确定实际位置350与估计位置340的差异高于阈值量时,校准模块230可以确定方向盘中性位置的校正偏移260(图2)。
[0043]
图4示出车辆100中的转向系统143的示例方向盘400。以实际的中性位置410,即零度,车辆100应该在直线方向s中前进。但是,由于磨损、事故或新零件等,中性位置410实际上可能使得车辆100稍微向右或向左行驶,例如在成角度的方向a中行驶,如同方向盘被定位在非零度角,即,有效中性位置420。因此,实际中性位置410和有效中性位置420之间存在度数差异δd。正是该差异δd导致图3中的目标物体的估计位置340和实际位置350之间的不对准。
[0044]
对于相对小的度数移位,驾驶人员可以基于“感觉”自动补偿,而不会感知到实际中性位置稍有偏离。例如,对于小至2度或3度的δd,当驾驶员期望直行时,驾驶人员可以简单地保持方向盘在一定角度,以针对δd进行补偿。然而,依赖中性位置作为使得车辆100直线驾驶的位置的车辆的任何系统将有产生错误结果的风险,这些错误结果在某些情况下可能导致事故。
[0045]
因此,校正偏移260指示应被施加于转向角度以校正δd的校正的度数。重新参照图3,当目标物体的估计位置340和实际位置350之间存在差异360时,校准模块230要么创建校正偏移260以存储在数据库119中,要么如果已经创建了校正偏移260则调整校正偏移260。在一个或多个实施例中,校准模块230确定将完全校正δd的校正偏移260。在一个或多个实施例中,校准模块230确定将增量地校正δd的校正偏移260的增量值,例如以避免突然引起相对大的变化。
[0046]
在校正偏移260已被存储或调整之后,校准系统170完成校准循环,并且随后可以开始另一个校准循环,以确定是否需要对校正偏移260进行进一步的调整。以这种方式,校准系统170能够响应于车辆100的当前构成持续地保持精确的校正偏移260。
[0047]
图5图示了根据所公开的实施例的执行校准循环的方法500的流程图。将从图1和图2的校准系统170的视角讨论方法500。虽然结合校准系统170讨论方法500,但应该理解的是,方法500不限于校准系统170内的实施方式,该校准系统170仅仅是可以实现方法500的系统的一个示例。
[0048]
在操作510处,检测模块220可以可选择地获得地图数据116以识别检测目标物体所要沿着的直线。校准系统170可以在弯曲路径上执行校准循环,但是,在直线路径上可以实现更好的结果。检测模块220可以与导航系统147通信以确定车辆100的位置并分析地图数据116以确定要对其继续校准循环的例如具有阈值长度的当前或即将到来的直线路径。
[0049]
在操作520处,检测模块220继续检测目标物体。应当注意的是,虽然实施例已被描述为检测在车辆前面的目标物体,但是可能的是所公开的校准系统170在车辆正在反向移动时进行操作,在这种情况下,将检测在车辆的后方的目标物体。然而,为了解释的简洁,将基于车辆100正在向前行驶的实施方式继续讨论校准循环。
[0050]
为了检测目标物体,检测模块220首先在由传感器系统120捕获的一个或多个图像
中识别合适的目标物体。在一个或多个实施例中,目标物体可以是检测模块220可以在阈值置信度水平以上进行检测并确定为在车辆100前面阈值距离的静止物体的任何物体。例如,目标物体可以是标志、车道标记、建筑物等。
[0051]
在操作530处,检测模块220确定多个数据点,每个数据点至少指示当车辆100接近目标物体时目标物体相对于车辆100的位置。数据点还可以包括附加数据,诸如由方向盘传感器指示的方向盘的角度、车辆100的速度、时间戳或其它上下文信息。
[0052]
在操作540处,校准模块230确定目标物体的轨迹。校准模块230可以通过至少基于多个数据点和如由方向盘传感器指示的方向盘角度确定轨迹函数来确定轨迹。如果存在校正偏移260,则校准模块230在确定轨迹函数时将校正偏移260施加于方向盘角度。轨迹函数的复杂度可以根据期望的精确度水平或根据可用的处理能力而变化。例如,在一个或多个实施例中,校准模块230可以使用相对简单的插值技术以基于数据点和相应的方向盘角度位置的输入得出函数。在一个或多个实施例中,更复杂的技术可以被用于基于数据点、方向盘角度、车辆速度、时间戳等得出函数。
[0053]
在操作550处,校准模块230基于如由轨迹函数限定的轨迹来确定目标物体的估计位置。估计位置可以定位于车部100后方阈值距离。
[0054]
在操作560处,校准模块230分析来自传感器系统120的数据,以确定目标物体被检测到处于的实际位置,该实际位置与估计位置距离车辆100相同的距离。
[0055]
在操作570处,校准模块230确定在估计位置和实际位置之间是否存在任何差异。如果不存在差异(即,估计位置和实际位置是对准的),或者如果差异低于最小阈值,则校准循环完成,并且在操作590处结束。
[0056]
如果在估计位置和实际位置之间存在高于最小阈值的差异,则在操作580处,校准模块230创建要施加于方向盘传感器输出的校正偏移260。该差异指示方向盘的当前中性位置与控制车辆100直线向前驾驶不一致。校准模块230可以基于差异的横向方向和量确定校正方向和量。在一个或多个实施例中,例如,当差异低于阈值量时,校准模块230可以确定完整的校正偏移260。在一个或多个实施例中,在差异高于阈值量时,校准模块230可以确定增量校正偏移260,例如0.25度,以减少对将校正偏移260施加于中性位置的系统的操作结果的显著、突然的变化的影响。
[0057]
在处理在操作590处结束之后,校准系统170随后可以开始另一个校准循环。即,例如,校准系统170可以在车辆100操作时周期性地开始校准循环,以持续地检查和调节校正偏移260。
[0058]
因此,所公开的校准系统170在趋向提高的精确度或保持足够精确的状态的条件下保持校正偏移260。车辆100的其它系统将校正偏移260施加于中性位置,以获得转向系统143的更精确的参考模型。例如,车辆100可以包括自动泊车系统,该自动泊车系统依赖于方向盘传感器输出和中性位置以控制车辆在泊车时直线向前移动。通过施加校正偏移260,自动泊车系统将能够在泊车操纵中更精确地控制车辆100。在另一示例中,车辆100可以包括后视泊车辅助系统,当用户反向驾驶时,该后视泊车辅助系统显示预测车辆的路径的指引。后视泊车辅助系统可以应用校正偏移260以实现预测车辆100将行驶的实际方向的更精确的指引。因此,所公开的校准系统170可以改进车辆100的多个操作。
[0059]
图1作为本文所公开的系统和方法可以在其中操作的示例环境现在将被详细地讨
论。在一些实例中,车辆100被配置为在自主模式、一个或多个半自主操作模式和/或手动模式之间选择性地切换。这种切换可以以现在已知或以后开发的适当方式实现。“手动模式”意味着根据从用户(例如,驾驶人员)接收的输入来执行车辆的导航和/或操纵中的所有或大部分。在一个或多个布置中,车辆100可以是被配置为仅以手动模式操作的常规车辆。
[0060]
在一个或多个实施例中,车辆100是自主车辆。如本文所使用的,“自主车辆”是指以自主模式操作的车辆。“自主模式”是指使用一个或多个计算系统沿行驶路线对车辆100进行导航和/或操纵,以在来自驾驶人员的输入最小或没有的情况下控制车辆100。在一个或多个实施例中,车辆100高度自动化或完全自动化。在一个实施例中,车辆100配置有一个或多个半自主操作模式,该一个或多个半自主操作模式可以施加校正偏移260,并且在该一个或多个半自主操作模式中一个或多个计算系统执行车辆沿行驶路线的导航和/或操纵的一部分,并且车辆操作者(即,驾驶员)向车辆提供输入,以执行车辆100沿行驶路线的导航和/或操纵的一部分。
[0061]
如前所述,车辆100可以包括一个或多个处理器110。在一个或多个布置中,(一个或多个)处理器110可以是车辆100的主处理器。例如,(一个或多个)处理器110可以是电子控制单元(ecu)。车辆100可以包括用于存储一种或多种类型的数据的一个或多个数据存储装置115。数据存储装置115可以包括易失性存储器和/或非易失性存储器。合适的数据存储装置115的示例包括ram(随机存取存储器)、闪存、rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬盘驱动器或任何其它合适的存储介质或其任何组合。数据存储装置115可以是(一个或多个)处理器110的部件,或者数据存储装置115可以操作地连接到(一个或多个)处理器110以供其使用。本说明书通篇使用的术语“操作地连接”可以包括直接连接或间接连接,包括没有直接物理接触的连接。
[0062]
在一个或多个布置中,一个或多个数据存储装置115可以实现数据库119(图2),并且可以进一步包括检测模块220可访问的地图数据116。地图数据116可以包括一个或多个地理区域的地图。在一些实例中,地图数据116可以包括关于一个或多个地理区域中的道路、交通控制设备、道路标记、结构、特征和/或地标的信息或数据。地图数据116可以是以任何合适的形式。在一些实例中,地图数据116可以包括区域的鸟瞰图。在一些实例中,地图数据116可以包括区域的地面视图,包括360度地面视图。地图数据116可以包含针对包含于地图数据116中的一个或多个项和/或相对于包含于地图数据116中的其它项的测量结果、尺寸、距离和/或信息。地图数据116可以包括具有关于道路几何结构的信息的数字地图。地图数据116可以是高质量和/或高度详细的。
[0063]
在一个或多个布置中,地图数据116可以包括一个或多个地形地图117。(一个或多个)地形地图117可以包括关于一个或多个地理区域的地面、地形、道路、表面和/或其它特征的信息。(一个或多个)地形地图117可以包括一个或多个地理区域中的高度数据。地图数据116可以是高质量和/或高度详细的。(一个或多个)地形地图117可以限定一个或多个地面表面,该一个或多个地面表面可以包括铺装道路、未铺装道路、土地和限定地面表面的其它事物。
[0064]
在一个或多个布置中,地图数据116可以包括一个或多个静态障碍地图118。(一个或多个)静态障碍地图118可以包括关于位于一个或多个地理区域内的一个或多个静态障
碍的信息。在一个或多个实施例中,检测模块220可以选择静态障碍作为目标物体。“静态障碍”是其位置在一段时间内不变或基本上不变和/或其大小在一段时间内不变或基本上不变的物理物体。静态障碍的示例包括树木、建筑物、路缘、栅栏、栏杆、中间物(median)、电线杆、雕像、纪念碑、标志、长凳、家具、邮箱、大石头、小山。静态障碍可以是在地面水平上方延伸的物体。包含于(一个或多个)静态障碍地图118中的一个或多个静态障碍可以具有与其相关联的位置数据、大小数据、尺寸数据、材料数据和/或其它数据。(一个或多个)静态障碍地图118可以包括一个或多个静态障碍的测量结果、尺寸、距离和/或信息。(一个或多个)静态障碍地图118可以是高质量和/或高度详细的。(一个或多个)静态障碍地图118可以被更新以反映所绘制的区域内的变化。
[0065]
如上所述,车辆100可以包括传感器系统120。传感器系统120可以包括一个或多个传感器。“传感器”意味着可以检测和/或感测某物的任何设备、部件和/或系统。一个或多个传感器可以被配置为实时检测和/或感测。如本文所使用的,术语“实时”意味着用户或系统感测为对于要进行的特定处理或确定而言足够即时或使得处理器能够跟上某个外部处理的处理响应性水平。
[0066]
在传感器系统120包括多个传感器的布置中,传感器可以彼此独立地工作。可替代地,传感器中的两个或更多个可以彼此组合工作。在这种情况下,两个或更多个传感器可以形成传感器网络。传感器系统120和/或一个或多个传感器可以操作地连接到(一个或多个)处理器110、(一个或多个)数据存储装置115和/或车辆100的另一要素(包括图1中所示的要素中的任一个)。传感器系统120可以获取车辆100的外部环境的至少一部分(例如,附近车辆)的数据。
[0067]
传感器系统120可以包括任何合适类型的传感器。本文将描述不同类型的传感器的各种示例。然而,要理解的是,实施例不限于所描述的特定传感器。传感器系统120可以包括一个或多个车辆传感器121。(一个或多个)车辆传感器121可以检测、确定和/或感测关于车辆100本身的信息。在一个或多个布置中,(一个或多个)车辆传感器121可以被配置为诸如例如基于惯性加速度来检测和/或感测车辆100的位置和取向变化。在一个或多个布置中,(一个或多个)车辆传感器121可以包括一个或多个加速度计、一个或多个陀螺仪、惯性测量单元(imu)、航位推算系统、全球导航卫星系统(gnss)、全球定位系统(gps)、导航系统147和/或其它合适的传感器。(一个或多个)车辆传感器121可以被配置为检测和/或感测车辆100的一个或多个特性。在一个或多个布置中,(一个或多个)车辆传感器121可以包括用以确定车辆100的当前速度的速度计。
[0068]
可替代地,或者另外,传感器系统120可以包括被配置为获取和/或感测驾驶环境数据的一个或多个环境传感器122。“驾驶环境数据”包括关于自主车辆所位于的外部环境或其一个或多个部分的数据或信息。例如,一个或多个环境传感器122可以被配置为检测、量化和/或感测车辆100的外部环境的至少一部分中的障碍和/或关于这种障碍的信息/数据。这种障碍可以是静止物体和/或动态物体。一个或多个环境传感器122可以被配置为检测、测量、量化和/或感测车辆100的外部环境中的其它事物,诸如例如车道标记、标志、交通信号灯、交通标志、车道线、人行横道、接近车辆100的路缘、道路外的物体等。
[0069]
本文将描述传感器系统120的传感器的各种示例。示例传感器可以是一个或多个环境传感器122和/或一个或多个车辆传感器121的一部分。然而,要理解的是,实施例不限
于所描述的特定传感器。
[0070]
作为例子,在一个或多个布置中,传感器系统120可以包括一个或多个雷达传感器123、一个或多个激光雷达传感器124、一个或多个声纳传感器125和/或一个或多个相机126。在一个或多个布置中,一个或多个相机126可以是高动态范围(hdr)相机或红外(ir)相机。如上所述,传感器系统120传感器可以被布置为包括面向前方的传感器和面向后方的传感器二者。
[0071]
车辆100可以包括输入系统130。“输入系统”包括使得信息/数据能够被输入到机器中的任何设备、部件、系统、元件或布置或其组。输入系统130可以接收来自车辆乘客(例如,驾驶员或乘客)的输入。车辆100可以包括输出系统135。“输出系统”包括使得信息/数据能够被呈现给车辆乘客(例如,人、车辆乘客等)的任何设备、部件或布置或其组。
[0072]
车辆100可以包括一个或多个车辆系统140。图1中示出了一个或多个车辆系统140的各种示例。然而,车辆100可以包括更多、更少或不同的车辆系统。应该理解的是,尽管单独限定了特定的车辆系统,但是系统或其部分中的每一个或任一个可以通过车辆100内的硬件和/或软件以其它方式组合或分离。车辆100可以包括推进系统141、制动系统142、转向系统143、油门系统144、传动系统145、信令系统146和/或导航系统147。这些系统中的每一个可以包括现在已知的或以后开发的一个或多个设备、部件和/或它们的组合。
[0073]
导航系统147可以包括现在已知或以后开发的被配置为确定车辆100的地理位置和/或确定车辆100的行驶路线的一个或多个设备、应用和/或其组合。导航系统147可以包括一个或多个地图应用,以确定车辆100的行驶路线。导航系统147可以包括全球定位系统、本地定位系统或地理定位系统。
[0074]
(一个或多个)处理器110、校准系统170和/或(一个或多个)自主驾驶模块160可以操作地连接以与各种车辆系统140和/或其单个部件通信。例如,返回到图1,(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160可以进行通信以发送和/或接收来自各种车辆系统140的信息,以控制车辆100的移动、速度、操纵、航向、方向等。(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160可以控制这些车辆系统140中的一些或全部,并因此可以部分或完全自主。
[0075]
(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160可以可操作以通过控制车辆系统140和/或其部件中的一个或多个来施加校正偏移260并控制车辆100的导航和/或操纵。例如,当以自主模式操作时,(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160可以控制车辆100的方向和/或速度。(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160可以使得车辆100加速(例如,通过增加提供给发动机的燃料供应)、减速(例如,通过减少对发动机的燃料供应和/或通过施加制动)和/或改变方向(例如,通过转动前两个车轮)。如本文所用,“导致”或“使得”意味着以或者直接或者间接的方式致使、强迫、迫使、指导、命令、指示和/或允许事件或动作发生或至少处于这种事件或动作可能发生的状态。
[0076]
车辆100可以包括一个或多个致动器150。致动器150可以是可操作以修改、调整和/或改变车辆系统140或其部件中的一个或多个以响应于从(一个或多个)处理器110和/或(一个或多个)自主驾驶模块160接收到信号或其它输入的任何要素或要素的组合。可以使用任何合适的致动器。例如,仅提出几个可能性,一个或多个致动器150可以包括电动机、
气动致动器、液压活塞、继电器、螺线管和/或压电致动器。
[0077]
车辆100可以包括一个或多个模块,本文描述了该一个或多个模块中的至少一些。模块可以被构造为当由处理器110执行时实现本文所述的各种处理中的一个或多个的计算机可读程序代码。模块中的一个或多个可以是(一个或多个)处理器110的部件,或者模块中的一个或多个可以在(一个或多个)处理器110操作连接到的其它处理系统上执行和/或分布在(一个或多个)处理器110操作连接到的其它处理系统之中。模块可以包括可由一个或多个处理器110执行的指令(例如,程序逻辑)。可替代地,或者另外,一个或多个数据存储装置115可以包含这种指令。
[0078]
在一个或多个布置中,本文描述的模块中的一个或多个可以包括人工或计算智能要素,例如,神经网络、模糊逻辑或其它机器学习算法。此外,在一个或多个布置中,模块中的一个或多个可以分布在本文所述的多个模块之中。在一个或多个布置中,本文描述的模块中的两个或更多个可以组合成单个模块。
[0079]
车辆100可以包括一个或多个自主驾驶模块160。(一个或多个)自主驾驶模块160可以被配置为从传感器系统120和/或能够捕获与车辆100和/或车辆100的外部环境有关的信息的任何其它类型的系统接收数据。在一个或多个布置中,(一个或多个)自主驾驶模块160可以使用这种数据以生成一个或多个驾驶场景模型。(一个或多个)自主驾驶模块160可以确定车辆100的位置和速度。(一个或多个)自主驾驶模块160可以确定障碍的位置、障碍或包括交通标志、树木、灌木、相邻车辆、行人等的其它环境特征。
[0080]
(一个或多个)自主驾驶模块160可以被配置为接收和/或确定由(一个或多个)处理器110和/或本文所描述的模块中的一个或多个用于估计车辆100的位置和取向的在车辆100的外部环境内的障碍的位置信息、基于来自多个卫星的信号的全球坐标中的车辆位置、或者可以被用于确定车辆100的当前状态或者确定在或者创建地图或者确定车辆100关于地图数据的位置时使用的车辆100相对于其环境的位置的任何其它数据和/或信号。(一个或多个)自主驾驶模块160可以进一步被配置为接收车道变更检测通知和/或如上所述的路径估计。
[0081]
(一个或多个)自主驾驶模块160可以被配置为在基于由传感器系统120获取的数据、驾驶场景模型和/或来自任何其它合适来源的数据(诸如来自传感器数据240的确定)确定车辆100的当前自主驾驶操纵、未来自主驾驶操纵和/或对当前自主驾驶操纵的修改时确定(一个或多个)行驶路径并且施加校正偏移260。“驾驶操纵”意味着影响车辆移动的一个或多个动作。仅提出几个可能性,驾驶操纵的示例包括:加速、减速、制动、转弯、在车辆100的横向方向中移动、改变行驶车道、并入行驶车道和/或倒车。(一个或多个)自主驾驶模块160可以被配置为实现确定的驾驶操纵。(一个或多个)自主驾驶模块160可以直接或间接地使得这种自主驾驶操纵被实现。如本文所使用的,“导致”或“使得”意味着以或者直接或者间接的方式致使、命令、指示和/或允许事件或动作发生或至少处于这种事件或动作可能发生的状态。(一个或多个)自主驾驶模块160可以被配置为执行各种车辆功能和/或向车辆100或其一个或多个系统(例如,车辆系统140中的一个或多个)传送数据、从车辆100或其一个或多个系统接收数据、与车辆100或其一个或多个系统交互和/或控制车辆100或其一个或多个系统。
[0082]
本文公开了详细的实施例。然而,要理解的是,所公开的实施例意在仅作为示例。
因此,本文所公开的具体结构和功能细节不应被解释为限制,而仅仅是作为权利要求的基础和作为教导本领域技术人员在几乎任何适当的详细结构中以不同的方式使用本文中的方面的代表性基础。此外,本文中使用的术语和短语并非旨在限制,而是提供对可能实施方式的可理解的描述。在图1-图5中示出了各种实施例,但是,实施例不限于所图示的结构或应用。
[0083]
图中的流程图和框图图示了根据各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令的模块、段或代码的部分。还应该注意的是,在一些替代实施方式中,框中所述的功能可以不按照图中所示的顺序出现。例如,实际上,连续示出的两个框可以基本上同时执行,或者框有时可以根据所涉及的功能以相反的顺序执行。
[0084]
上述系统、部件和/或处理可以以硬件或硬件和软件的组合实现,并且可以在一个处理系统中以集中方式实现,或者以分布式方式实现,在分布式方式中不同的要素分布在几个互连的处理系统中。适于执行本文所描述的方法的任何类型的处理系统或另一装置是合适的。硬件和软件的典型组合可以是具有在被加载和执行时控制处理系统使得其实施本文所描述的方法的计算机可用程序代码的处理系统。系统、部件和/或处理还可以被嵌入计算机可读存储装置(诸如计算机程序产品或其它数据程序存储设备)中,该计算机可读存储装置可由机器读取,有形地体现可由机器执行以执行本文所述的方法和处理的指令的程序。这些要素还可以被嵌入应用产品中,该应用产品包括使得能够实现本文所述方法的所有特征并且当被加载在处理系统中时能够实施这些方法。
[0085]
此外,本文所描述的布置可以采取计算机程序产品的形式,该计算机程序产品体现在一个或多个计算机可读介质中,该一个或多个计算机可读介质具有在其上体现(例如,存储)的计算机可读程序代码。可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。短语“计算机可读存储介质”意味着非暂时性存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、装置或设备或以上的任意适当的组合。计算机可读存储介质的更具体示例(非详尽列表)包括以下:便携式计算机盘、硬盘驱动器(hdd)、固态驱动器(ssd)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、便携式紧凑盘只读存储器(cd-rom)、数字多功能盘(dvd)、光学存储设备、磁存储设备或以上的任意适当的组合。在本文件的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何有形介质。
[0086]
通常,本文使用的模块包括执行特定任务或实现特定数据类型的例程、程序、对象、组件、数据结构等。在其它方面,存储器通常存储所提及的模块。与模块相关联的存储器可以是嵌入处理器内的缓冲器或高速缓存、ram、rom、闪存或另一合适的电子存储介质。在又一些方面,如由本公开设想的模块被实现为专用集成电路(asic)、片上系统(soc)的硬件组件、可编程逻辑阵列(pla)或嵌有用于执行所公开的功能的限定的配置集(例如,指令)的另一合适的硬件组件。
[0087]
可以使用包括但不限于无线、有线、光纤、线缆、射频等或者以上的任意适当组合的任何适当的介质来传送在计算机可读介质上体现的程序代码。用于实施本布置的各个方
面的操作的计算机程序代码可以以一种或多种编程语言(包括诸如java
tm
、smalltalk或c++等的面向对象的编程语言以及诸如“c”编程语言或类似的编程语言之类的常规的过程编程语言)的任何组合编写。程序代码可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上且部分在远程计算机上、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(lan)或广域网(wan)的任何类型的网络连接到用户计算机,或者可以建立与外部计算机的连接(例如,通过使用因特网服务提供商的因特网)。
[0088]
本文所使用的术语“一”和“一个”被限定为一个或多于一个。本文所使用的术语“多个”被限定为两个或多于两个。本文所使用的术语“另一个”被限定为至少第二个或更多个。本文所使用的术语“包括”和/或“具有”被限定为包含(即,开放语言)。本文所使用的短语
“……
和
……
中的至少一个”是指并涵盖相关联的所列项中的一个或多个的任何和所有可能的组合。作为示例,短语“a、b和c中的至少一个”包括仅a、仅b、仅c或其任何组合(例如,ab、ac、bc或abc)。
[0089]
本文中的方面在不脱离其精神或本质属性的情况下可以以其它形式体现。因此,在指示其范围时,应参考以下权利要求,而不是上述说明书。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
相关标签:
热门咨询
tips