首页> 中国专利> 评估自主车辆的乘坐质量

评估自主车辆的乘坐质量

摘要

本公开涉及训练用于识别可能对自主车辆的乘客造成不适的事件以及用于评估自主车辆乘坐的总体乘坐质量的模型。例如,乘坐数据可以与指示不适级别的乘坐质量值和/或指示由乘客针对第一乘坐提供的整体乘坐质量的第一总体乘坐质量值相关联。这个乘坐数据可以被用于训练模型,使得该模型被配置为响应于接收到第二乘坐的乘坐数据作为输入而输出可能在第二乘车期间对乘客造成不适的事件的列表和/或使得该模型被配置为响应于接收到第二乘坐的第二乘坐数据作为输入而输出第二乘坐的第二总体乘坐质量值。

著录项

说明书

相关申请的交叉引用

本申请要求于2018年12月10日提交的申请序列号16/214,991的权益,该申请要求于2018年10月19日提交的临时专利申请号62/747,815的权益,所述申请的公开内容通过引用并入本文。

背景技术

诸如不要求人类驾驶员的车辆之类的自主车辆可以被用于帮助将乘客或物品从一个地点运输到另一个地点。这样的车辆可以在完全自主的模式下操作,在该模式下,用户可以提供某个初始输入,诸如接取(pickup)或目的地地点,并且车辆将自身操纵到那个地点。当人(或用户)想要经由车辆在两个地点之间进行身体运输和/或运输货物时,他们可以使用任何数量的出租车或递送服务。迄今为止,这些服务通常涉及人类驾驶员,该人类驾驶员被给予到某个地点接取和放下用户和/或货物的派遣指令。在一些情况下,例如通过向驾驶员提供小费和/或星或其它评级,为乘客提供机会来“评级”他或她对乘坐(ride)服务的总体体验。

发明内容

本公开的一个方面提供了一种训练模型的方法,该模型用于识别可能对自主车辆的乘客造成不适的事件。该方法包括由一个或多个服务器计算设备接收识别来自规划器系统的输出和来自感知系统的输出的第一乘坐数据。第一乘坐数据与指示由自主车辆的乘客在第一乘坐期间识别出的不适级别的乘坐质量值相关联。该方法还包括由一个或多个服务器计算设备使用第一乘坐数据和任何相关联的乘坐质量值来训练模型,使得该模型被配置为响应于接收到第二乘坐的第二乘坐数据作为输入而输出第二乘坐中发生的可能在第二乘坐期间对一个或多个乘客造成不适的事件的列表。

在一个示例中,该方法还包括将第二乘坐的第二乘坐数据输入到模型中,以便确定事件的列表并基于事件的列表标记第二乘坐数据以供审核。在一个示例中,第二乘坐数据与使用自主车辆控制软件生成的模拟乘坐的模拟乘坐数据对应。在另一个示例中,乘坐质量值还与第一乘坐期间的时间点相关联。在另一个示例中,乘坐数据还包括来自地图的用于在第一乘坐期间控制自主车辆的上下文。在这个示例中,乘坐数据还包括关于除车辆以外的道路使用者的地点和类型的信息。在另一个示例中,乘坐数据还包括第一乘坐的加速度信息。在这个示例中,乘坐数据还包括第一乘坐的自主车辆的加速度信息的导数(derivative)。

本公开的另一方面提供了一种训练模型的方法,该模型用于评估自主车辆乘坐的总体乘坐质量。该方法包括由一个或多个服务器计算设备接收识别来自规划器系统的输出和来自感知系统的输出的第一乘坐数据。第一乘坐数据与指示由自主车辆的乘客针对第一乘坐提供的总体乘坐质量的第一总体乘坐质量值相关联。该方法还包括由一个或多个服务器计算设备使用第一乘坐数据和第一总体乘坐质量值来训练模型,使得该模型被配置为响应于接收到第二乘坐的第二乘坐数据作为输入而输出第二乘坐的第二总体乘坐质量值。

在一个示例中,第二乘坐数据与使用自主车辆控制软件生成的模拟乘坐的模拟乘坐数据对应。在另一个示例中,第一乘坐数据还包括来自地图的用于在第一乘坐期间控制自主车辆的上下文。在另一个示例中,乘坐数据还包括关于除车辆以外的道路使用者的地点和类型的信息。在另一个示例中,第一乘坐数据还包括自主车辆的加速度信息。在另一个示例中,该方法还包括接收来自第二模型的输出,该输出识别可能在第一乘坐期间对乘客造成不适的事件的列表,并且其中训练还基于该事件的列表。在另一个示例中,该方法还包括将第一乘坐质量值转换成第一总体乘坐质量值,并且第一乘坐质量值与由乘客提供的第一乘坐的星评级对应。在另一个示例中,该模型是随时间的卷积神经网络,以便使该模型能够辨识事件之间的关系以及这些事件在乘坐期间的何时发生以及这些关系如何影响总体乘坐质量。在另一个示例中,该方法还包括将第二乘坐的乘坐数据输入到模型中以便确定第二总体乘坐质量值并且基于第二总体乘坐质量值标记第二乘坐数据以供审核。在另一个示例中,该方法还包括将第二乘坐的乘坐数据输入到模型中以便确定第二总体乘坐质量值,并且使用第二总体乘坐质量值来评估由自主车辆行驶的多个英里的乘坐质量。在另一个示例中,该方法还包括将第二乘坐的乘坐数据输入到模型中以便确定第二总体乘坐质量值,并且使用第二总体乘坐质量值来评估特定类型的操纵的乘坐质量。在这个示例中,特定类型的操纵包括左转或右转。可替代地,特定类型的操纵包括车道改变。

附图说明

图1是根据示例性实施例的示例车辆的功能图。

图2是根据本公开的方面的地图信息的示例。

图3是根据本公开的方面的车辆的示例外部视图。

图4是根据本公开的方面的示例系统的示意图。

图5是根据本公开的方面的图4的系统的功能图。

图6是根据本公开的方面的驾驶情况的示例表示。

图7是根据本公开的方面的示例流程图。

图8A和图8B是根据本公开的方面的用于提供乘客反馈的示例界面。

图9是根据本公开的方面的模型的输出的示例。

图10是根据本公开的方面的示例流程图。

图11是根据本公开的方面的模型的输出的另一个示例。

具体实施方式

概述

本技术涉及在模拟期间评估乘坐质量。为了这样做,可以使用实际乘坐期间由实际乘客提供的反馈以及来自这些乘坐的包括来自车辆的各种系统(诸如规划器和感知系统)的输出的日志数据来训练一个或多个模型。因此,可以训练模型以输入日志数据、识别可能损害乘坐质量的个别事件并为现实世界和模拟乘坐数据两者提供乘坐质量值。然后,这个信息可以被用于评估跨乘坐的不同方面的乘坐质量以及改进那个软件,并且还鉴于低质量的乘坐而预测用户的保留率。

为了训练模型,必须首先收集关于乘坐质量的数据。例如,在具有人类乘坐者(诸如实际乘客或测试乘坐者)的旅程或乘坐期间,这些乘坐者可以被提供有提供关于乘坐的实时反馈的能力。作为示例,乘客可以能够在乘坐期间例如响应于特定事件而提供反馈和/或提供对于乘坐总体的反馈,例如,乘坐的总体评级。

可以使用测试乘坐者针对多次乘坐的评级和相关联乘坐数据来训练第一模型,以便识别可能令乘客感到不适的事件的列表以及列表中每个事件的这种不适的级别。然后,第一模型可以被用于从针对不同乘坐的乘坐数据中检测不适事件。例如,可以将来自模拟乘坐的乘坐数据输入到模型中,以便提供针对给定的自主车辆控制软件版本和模拟的乘坐质量评估(即,可能为不适的事件的列表以及每个事件的不适的级别)。类似地,可以将来自实际乘客乘坐的乘坐数据输入到模型中,以便提供针对特定乘坐的乘坐质量评估。进而,这可以被用于对软件进行调整,以便提高总体和/或针对特定乘客的乘坐质量。

可以使用由乘客针对多次乘坐的评级和相关联乘坐数据来训练第二模型,以便识别总体乘坐质量值。此外,为了更好地通知第二模型,可以使用在乘坐期间不适事件的识别(即,第一模型的输出)来训练第二模型。还可以使用来自乘客的附加信息(诸如关于乘客是否不再乘坐(即,减员)和/或在乘坐期间报告的晕动病的信息)来训练第二模型。

第二模型也可以被用于确定现实世界和模拟乘坐的总体乘坐质量。例如,第二模型的输出可以被用于评估哪些类型的事件可能造成乘客流失,以便尝试解决此类问题并优先进行工程工作以对软件进行调整,以便总体改进乘坐质量。总体乘坐质量数据可以被用于对自主车辆软件和/或服务总体进行评估。

因此,本文描述的特征可以允许在现实世界和模拟乘坐两者中检测不适事件并评估总体乘坐质量。进而,这允许优先进行工程工作以对自主车辆软件进行改进、改变乘坐行为以便增加乘坐保留并避免乘坐者流失,以及在发生不适事件时提供干预。

示例系统

如图1中所示,根据本公开的一个方面的车辆100包括各种组件。虽然本公开的某些方面对于具体类型的车辆特别有用,但是车辆可以是任何类型的车辆,包括但不限于汽车、卡车、摩托车、公共汽车、休闲车等。车辆可以具有一个或多个计算设备,诸如包含一个或多个处理器120、存储器130和通常存在于通用计算设备中的其它组件的计算设备110。

存储器130存储可由一个或多个处理器120访问的信息,包括可由处理器120执行或以其它方式使用的指令132和数据134。存储器130可以是能够存储处理器可访问的信息的任何类型,包括计算设备可读介质,或存储可借助于电子设备读取的数据的其它介质(诸如硬盘驱动器、存储卡、ROM、RAM、DVD或其它光盘、以及其它可写入和只读存储器)。系统和方法可以包括前述的不同组合,由此指令和数据的不同部分存储在不同类型的介质上。

指令134可以是要由处理器直接执行(诸如机器代码)或间接执行(诸如脚本)的任何指令集。例如,指令可以作为计算设备代码存储在计算设备可读介质上。在那方面,术语“软件”、“指令”和“程序”在本文中可以可互换地使用。指令可以以目标代码格式存储以便由处理器直接处理,或者以任何其它计算设备语言存储(包括按需解释或预先编译的独立源代码模块的脚本或集合)。下面更详细地解释指令的功能、方法和例程。

数据134可以由处理器120根据指令132检索、存储或修改。例如,虽然所要求保护的主题不受任何特定数据结构的限制,但是数据可以存储在计算设备寄存器中、作为具有多个不同字段和记录的表存储在关系数据库中、存储在XML文档或平面文件中。数据还可以以任何计算设备可读格式被格式化。

一个或多个处理器120可以是任何常规处理器,诸如市售CPU。可替代地,一个或多个处理器可以是专用设备,诸如ASIC或其它基于硬件的处理器。虽然图1在功能上将处理器、存储器和计算设备110的其它元件示为在同一方框内,但是本领域普通技术人员将理解的是,处理器、计算设备或存储器实际上可以包括可以存储或不存储在同一物理壳体内的多个处理器、计算设备或存储器。例如,存储器可以是位于不同于计算设备110的壳体中的硬盘驱动器或其它存储介质。因而,对处理器或计算设备的引用将被理解为包括对可以或可以不并行操作的处理器或计算设备或存储器的集合的引用。

计算设备110可以包括通常与计算设备结合使用的所有组件,诸如上述处理器和存储器以及用户输入150(例如,鼠标、键盘、触摸屏和/或麦克风)和各种电子显示器(例如,具有屏幕的监视器或可操作以显示信息的任何其它电子设备)。在这个示例中,车辆包括内部电子显示器152以及一个或多个扬声器154,以提供信息或视听体验。在这方面,内部电子显示器152可以位于车辆100的舱室内,并且可以由计算设备110使用以向车辆100内的乘客提供信息。

计算设备110还可以包括一个或多个无线网络连接156,以促进与诸如下面详细描述的客户端计算设备和服务器计算设备之类的其它计算设备的通信。无线网络连接可以包括短程通信协议,诸如蓝牙、低功耗蓝牙(LE),蜂窝连接,以及各种配置和协议,包括互联网、万维网、内联网、虚拟专用网、广域网、本地网络、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP,以及前述的各种组合。

在一个示例中,计算设备110可以是自主驾驶计算系统的控制计算设备,或者可以被结合到车辆100中。自主驾驶计算系统可以能够与车辆的各种组件通信,以便根据存储器130的自主车辆控制软件来控制车辆100的移动,如下面进一步讨论的。例如,返回图1,计算设备110可以与车辆100的各种系统(诸如减速系统160、加速系统162、转向系统164、信令系统166、规划系统168、定位系统170、感知系统172和动力系统174(即,车辆的引擎或马达))通信,以便根据存储器130的指令134控制车辆100的移动、速度等。这些系统中的每一个可以包括各种硬件(类似于处理器120和存储器130的处理器和存储器)以及软件,以便使这些系统能够执行各种任务。再次,虽然这些系统被示为在计算设备110的外部,但实际上,这些系统也可以被结合到计算设备110中,再次作为用于控制车辆100的自主驾驶计算系统。

作为示例,计算设备110可以与减速系统160和/或加速系统162的一个或多个致动器(诸如制动器、加速器踏板和/或车辆的引擎或马达)交互,以便控制车辆的速度。类似地,转向系统164的一个或多个致动器(诸如方向盘、转向轴和/或齿轮齿条系统中的齿轮和齿条)可以被计算设备110使用,以便控制车辆100的方向。例如,如果车辆100被配置为在道路上使用,诸如汽车或卡车,那么转向系统可以包括一个或多个致动器,以控制车轮的角度来使车辆转弯。信令系统166可以被计算设备110使用,以便在需要时例如通过点亮转向信号或制动灯来向其他驾驶员或车辆发信号通知车辆的意图。

规划系统168可以被计算系统110使用,以便确定并遵循到地点的路线。例如,规划系统可以周期性地生成轨迹,以便遵循到目的地的特定路线。在这方面,规划系统168和/或数据132可以存储详细的地图信息,例如,高度详细的地图,其识别道路的形状和高度、车道线、交叉路口、人行横道、速度限制、交通信号、建筑物、标志、实时交通信息、植被或其它此类对象和信息。

图2是包括交叉路口202和204的一段道路的地图信息200的示例。在这个示例中,地图信息200包括识别车道线210、212、214、交通灯信号灯220、222、人行横道230、人行道240、停车标志250、252和让路标志260的形状、地点和其它特点的信息。虽然地图信息在本文中被描绘为基于图像的地图,但是地图信息不需要完全基于图像(例如,栅格)。例如,地图信息可以包括一个或多个道路图(roadgraph)或诸如道路、车道、交叉路口以及这些特征之间的连接的信息的图形网络。每个特征可以被存储为图形数据,并且可以与诸如地理地点及其是否链接到其它相关特征的信息相关联,例如,停车标志可以链接到道路和交叉路口,等等。在一些示例中,相关联的数据可以包括道路图的基于网格的索引,以允许对某些道路图特征的高效查找。

定位系统170可以由计算设备110使用,以便确定车辆在地图上或地球上的相对或绝对位置。例如,定位系统170可以包括GPS接收器,以确定设备的纬度、经度和/或高度位置。诸如基于激光的定位系统、惯性辅助的GPS或基于相机的定位之类的其它定位系统也可以用于识别车辆的地点。车辆的地点可以包括绝对地理地点(诸如纬度、经度和高度),以及相对地点信息(诸如相对于紧邻其周围的其它车辆的地点,其常常可以用比绝对地理地点更少的噪声来确定)。

定位系统170还可以包括与计算设备110通信的其它设备,诸如加速度计、陀螺仪或其它方向/速度检测设备,以确定车辆的方向和速度或者对其的改变。仅通过示例的方式,加速设备可以确定其相对于重力方向或与其垂直的平面的俯仰、偏转或滚动(或对其的改变)。该设备还可以跟踪速度的增加或减小以及这种改变的方向。如本文所述的设备提供的地点和朝向数据可以自动提供给计算设备110、其它计算设备以及前述的组合。

感知系统172还包括用于检测车辆外部的对象的一个或多个组件,车辆外部的对象诸如为其它车辆、道路中的障碍物、交通信号、标志、树木等。例如,感知系统172可以包括激光器、声纳、雷达、相机和/或记录可由计算设备110处理的数据的任何其它检测设备。在车辆是诸如面包车之类的乘用车辆的情况下,面包车可以包括安装在车顶或其它方便位置上的激光器或其它传感器。例如,图3是车辆100的示例外部视图。在这个示例中,车顶壳体310和圆顶壳体312可以包括LIDAR传感器以及各种相机和雷达单元。此外,位于车辆100的前端的壳体320和车辆的驾驶员和乘客侧的壳体330、332可以各自存储LIDAR传感器。例如,壳体330位于驾驶员车门350的前面。车辆100还包括也位于车辆100的车顶上的用于雷达单元和/或相机的壳体340、342。附加的雷达单元和相机(未示出)可以位于车辆100的前端和后端和/或沿着车顶或车顶壳体310的其它位置。车辆100还包括典型乘用车辆的许多特征,诸如车门350、352、车轮360、362等。

车辆的各种系统可以使用自主车辆控制软件来起作用,以便确定如何控制车辆并控制车辆。作为示例,感知系统172的感知系统软件模块可以使用由自主车辆的一个或多个传感器(诸如相机、LIDAR传感器、雷达单元、声纳单元等)生成的传感器数据来检测并识别对象及其特点。这些特点可以包括地点、类型、航向、朝向、速度、加速度、加速度的改变、尺寸、形状等。在一些情况下,可以将特点输入到行为预测系统软件模块中,该模块基于对象类型使用各种模型来输出检测到的对象的预测的未来行为。在其它情况下,可以将特点放到一个或多个检测系统软件模块中,诸如施工区检测系统软件模块,该模块被配置为从由车辆的一个或多个传感器生成的传感器数据中检测施工区,以及紧急车辆检测系统,该系统被配置为从由车辆的传感器生成的传感器数据中检测紧急车辆。这些检测系统软件模块中的每一个可以使用各种模型来输出施工区或对象是紧急车辆的可能性。检测到的对象、预测的未来行为、来自检测系统软件模块的各种可能性、识别车辆的环境的地图信息、来自识别车辆的地点和朝向的定位系统170的位置信息、车辆的目的地以及来自车辆的各种其它系统的反馈可以被输入到规划系统160的规划系统软件模块中。规划系统可以使用这个输入来生成供车辆在未来的短时间段内遵循的轨迹。计算设备110的控制系统软件模块可以被配置为例如通过控制车辆的制动、加速和转向来控制车辆的移动,以便遵循轨迹。

计算设备110可以通过控制各种组件来自主地控制车辆的方向和速度。为了这样做,计算设备110可以使车辆加速(例如,通过增加由加速系统162提供给引擎的燃料或其它能量)、减速(例如,通过减少供给到引擎的燃料、换挡、和/或通过由减速系统160施加制动)、改变方向(例如,通过由转向系统164转动车辆100的前轮或后轮),并发信号通知这样的改变(例如,通过点亮信令系统166的转向信号)。因此,加速系统162和减速系统160可以是包括在车辆的引擎和车辆的车轮之间的各种组件的动力传动系统的一部分。再次,通过控制这些系统,计算设备110也可以控制车辆的动力传动系统,以便自主地操纵车辆。

车辆100的计算设备110还可以向其它计算设备(诸如作为运输服务的一部分的那些计算设备以及其它计算设备)传送信息或从其它计算设备接收信息。图4和图5分别是示例系统400的图片和功能图,该示例系统400包括经由网络460连接的多个计算设备410、420、430、440和存储系统450。系统400还包括车辆100以及可以被配置为与车辆100相同或相似的车辆100A、100B。虽然为简单起见,仅描绘了少数车辆和计算设备,但是典型的系统可以包括显著更多的车辆和计算设备。

如图5中所示,计算设备410、420、430、440中的每一个可以包括一个或多个处理器、存储器、数据和指令。此类处理器、存储器、数据和指令可以与计算设备110的一个或多个处理器120、存储器130、数据132和指令134类似地配置。

网络460和中间节点可以包括各种配置和协议,包括短距离通信协议(诸如蓝牙、蓝牙LE)、互联网、万维网、内联网、虚拟专用网络、广域网、本地网络、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP,以及前述的各种组合。任何能够向其它计算设备发送数据和从其它计算设备发送数据的设备(诸如调制解调器和无线接口)都可以促进这种通信。

在一个示例中,一个或多个计算设备410可以包括具有多个计算设备的一个或多个服务器计算设备,例如,负载平衡服务器群,其与网络的不同节点交换信息,以用于从其它计算设备接收数据、处理数据和向其它计算设备发送数据的目的。例如,一个或多个计算设备410可以包括一个或多个服务器计算设备,其能够经由网络460与车辆100的计算设备110或车辆100A的类似计算设备以及计算设备420、430、440通信。例如,车辆100、100A可以是车队的一部分,该车队可以由服务器计算设备派遣到各种地点。在这方面,服务器计算设备410可以用作派遣服务器计算系统,该派遣服务器计算系统可以被用于将诸如车辆100和车辆100A之类的车辆派遣到不同的地点,以便接取和放下乘客。此外,服务器计算设备410可以使用网络460在诸如计算设备420、430、440的显示器424、434、444之类的显示器上向诸如用户422、432、442之类的用户发送并呈现信息。在这方面,计算设备420、430、440可以被认为是客户端计算设备。

如图5中所示,每个客户端计算设备420、430、440可以是旨在供用户422、432、442使用的个人计算设备,并且具有通常与个人计算设备结合使用的所有组件,包括一个或多个处理器(例如,中央处理单元(CPU))、存储数据和指令的存储器(例如,RAM和内部硬盘驱动器)、显示器(诸如显示器424、434、444)(例如,具有屏幕的监视器、触摸屏、投影仪、电视或可操作以显示信息的其它设备),以及用户输入设备426、436、446(例如,鼠标、键盘、触摸屏或麦克风)。客户端计算设备还可以包括用于记录视频流的相机、扬声器、网络接口设备,以及用于将这些元件彼此连接的所有组件。

虽然客户端计算设备420、430和440各自可以包括全尺寸的个人计算设备,但是它们可以替代地包括能够通过诸如互联网之类的网络与服务器无线地交换数据的移动计算设备。仅通过示例的方式,客户端计算设备420可以是移动电话或者诸如启用无线的PDA、平板PC、可穿戴计算设备或系统或能够经由互联网或其它网络获得信息的上网本之类的设备。在另一个示例中,客户端计算设备430可以是可穿戴计算系统,如图4中所示,被示为手表。作为示例,用户可以使用小型键盘、小键盘、麦克风、使用利用相机的视觉信号或触摸屏来输入信息。

在一些示例中,客户端计算设备440可以是由管理员或操作者用来与乘客通信的礼宾工作站(concierge workstation),如下面进一步讨论的。虽然在图4和图5中仅示出了单个礼宾工作站440,但是在典型系统中可以包括任何数量的此类工作站。而且,虽然将操作工作站描绘为台式计算机,但是操作工作站可以包括各种类型的个人计算设备,诸如便携式计算机、上网本、平板计算机等。

与存储器130一样,存储系统450可以是能够存储服务器计算设备410可访问的信息的任何类型的计算机化存储装置,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD-ROM、可写入和只读存储器。此外,存储系统450可以包括分布式存储系统,其中数据存储在物理上可以位于相同或不同地理地点的多个不同的存储设备上。如图4和图5中所示,存储系统450可以经由网络460连接到计算设备,和/或可以直接连接到任何计算设备110、410、420、430、440等或结合到任何计算设备110、410、420、430、440等中。

存储系统450可以存储各种类型的信息。例如,存储系统450还可以存储上面提到的自主车辆控制软件,该软件将由诸如车辆100之类的车辆使用,以在自主驾驶模式下操作车辆。存储在存储系统450中的这个自主车辆控制软件包括自主车辆控制软件的各种无效和经验证版本。一旦通过验证,自主车辆控制软件就可以被发送到例如车辆100的存储器130,以便由车辆的计算设备使用,以便在自主驾驶模式下控制车辆。

存储系统450可以存储各种类型的信息,如下面更详细描述的。这个信息可以由服务器计算设备(诸如一个或多个服务器计算设备410)检索或以其它方式访问,以便执行本文描述的一些或全部特征。例如,存储系统450可以存储日志数据。这个日志数据可以包括例如由感知系统(诸如车辆100的感知系统172)生成的传感器数据。感知系统可以包括生成传感器数据的多个传感器。作为示例,传感器数据可以包括原始传感器数据以及识别定义被感知对象(包括其它道路使用者)的特点的数据,诸如对象(诸如车辆、行人、骑自行车的人、植被、路缘石、车道线、人行道、人行横道、建筑物等)的形状、地点、朝向、速度等。日志数据还可以包括识别不同类型的事件(诸如与其它对象的碰撞或接近碰撞)的“事件”数据、描述车辆100的潜在路径的规划几何形状和/或速度的规划轨迹、车辆在不同时间的实际地点、车辆在不同时间的实际朝向/航向、车辆在不同时间的实际速度、加速度和减速度(和/或速度、朝向/航向/转向角、加速度等随时间的改变)、被感知对象的分类和对被感知对象的响应、被感知对象的行为预测、车辆的各种系统(诸如加速、减速、感知、转向、信令、路线、动力等)在不同时间的状态(包括记录的错误)、车辆的各种系统在不同时间的输入和输出,等等。照此,这些事件和传感器数据可以被用于“再现”车辆的环境,包括被感知对象以及车辆在模拟中的行为。

这个日志数据中的至少一些可以是“乘坐数据”,即,在诸如车辆100之类的自主车辆中在乘客的特定旅程或乘坐期间生成的日志数据。乘坐数据可以包括日志数据的所有上面提到的特征,或者可以仅包括特定类型的数据,诸如来自车辆的规划器系统(诸如规划器系统160)的运动规划命令、来自车辆的遥测、来自地图信息的用于控制车辆的上下文、来自车辆的感知系统(诸如感知系统172)的其它道路使用者(诸如车辆、骑自行车的人、行人等)的经处理的或原始传感器数据、加速度信息、加速度变化率(jerk)(或加速度的导数)信息等。乘坐数据还可以与由一个或多个乘客针对特定乘坐提供的乘坐反馈相关联。响应于例如在不愉快的事件期间或紧接之后,可以由乘客提供这个反馈的至少一些,如下面进一步讨论的。此外或可替代地,该反馈可以包括在已经完成乘坐之后的总体乘坐质量值,如下面进一步讨论的。

示例方法

除了上面描述的和图中所示的操作之外,现在将描述各种操作。应当理解的是,不必以下面描述的精确次序执行以下操作。更确切地说,可以以不同的次序或同时处理各种步骤,并且还可以添加或省略步骤。

一方面,用户可以将用于请求运输或乘坐服务,或者更确切地说,车辆的应用下载到客户端计算设备。例如,用户422和432可以经由电子邮件中的链接直接从网站或应用商店下载应用到客户端计算设备420和430。例如,客户端计算设备可以例如通过网络将对应用的请求发送到一个或多个服务器计算设备410,并且作为响应,接收应用。应用可以本地安装在客户端计算设备处。

用户然后可以使用他或她的客户端计算设备来访问应用并请求车辆。作为示例,诸如用户432之类的用户可以使用客户端计算设备430将对车辆的请求发送到一个或多个服务器计算设备410。作为其一部分,用户可以识别接取地点、目的地地点,以及在一些情况下在车辆可以停靠的服务区域内任何地方的一个或多个中间停车地点。然后,一个或多个服务器计算设备410可以派遣车辆以在接取地点接乘客、将乘客运输(即,进行“行程”或“乘坐”)到目的地地点,并在目的地地点放下乘客。

图6表示在具有自主驾驶模式的车辆(诸如车辆100)中由乘客(诸如用户422或432)进行的乘坐的乘坐数据600。在这个示例中,车辆可以已经遵循从接取地点620到目的地地点630的路线610。虽然未示出,但是这个乘坐数据600还可以包括上面提到的日志数据,包括由感知系统(例如,感知系统172)生成的传感器数据、识别不同类型的事件(诸如与其它对象的碰撞或接近碰撞)的事件数据、描述车辆100的潜在路径的规划几何形状和/或速度的规划轨迹、车辆在不同时间的实际地点、车辆在不同时间的实际朝向/航向、车辆在不同时间的实际速度、加速度和减速度(和/或速度、朝向/航向/转向角、加速度等随时间的改变)、被感知对象的分类和对被感知对象的响应、被感知对象的行为预测、车辆的各种系统(例如加速、减速、感知、转向、信令、路线、动力等)在不同时间的状态(包括记录的错误)、车辆的各种系统在不同时间的输入和输出,等等。这个信息以及下面进一步讨论的来自用户422、432的反馈可以被用于训练一个或多个模型,如下面进一步讨论的。

图7包括可以由一个或多个处理器(诸如计算设备410的处理器)执行的、用于训练模型以识别可能造成自主车辆的乘客不适的事件的示例中的一些的示例流程图700。为了训练模型,如上面所讨论的,必须首先收集关于乘坐质量的数据并将其存储在存储系统450中。

例如,在具有人类乘坐者(诸如实际乘客或测试乘坐者)的乘坐期间,可以为这些乘坐者提供提供关于乘坐的实时反馈的能力。作为示例,测试乘坐者可以在不愉快的事件期间或紧接之后提供实时反馈。图8A提供了用于在乘坐期间提供实时反馈的用户界面800。用户界面800包括多个虚拟的(例如呈现在触摸屏显示器(诸如如图8A中所示的内部电子显示器152)或客户端计算设备的显示器(诸如客户端计算设备420的显示器424或客户端计算设备430的显示器434)上)或位于车辆中的实际的物理按钮。每个按钮810、820、830、840分别包括对应的评级值:“1”、“2”、“3”、“4”。这些值可以指示不适的级别,例如在1至4的范围内,其中1表示非常低或轻微的不适级别,而4表示非常高或强烈的不适级别。可替代地,不是简单地使用数值评级值,而是评级值可以是静态或动画的图标,例如表示乘客的情绪状态的脸。

在不愉快的事件期间或紧接之后,乘客可以通过例如使用他或她的手指在显示器上轻击或按下物理按钮中的一个选择评级来向计算设备110提供关于乘坐的实时反馈。例如,返回图6,乘客(例如,用户422、432)可以已经在沿着路线610的点650处提供了反馈。如图所示,这个反馈可以指示由乘客提供的表示相当高级别的不适的评级值“3”。这个信息还可以与标识符(ID)和时间戳(T1)相关联。

这个反馈或评级值也可以被转换成代表对应事件的不适级别的某个其它归一化值(例如,按0至1的标度(scale))。该评级还可以与乘坐的乘坐数据(例如,乘坐数据600)相关联,该乘坐数据包括接近于输入的时间和/或整个乘坐的来自如上面所讨论的车辆的各种系统的输出。

可以由客户端计算设备和/或计算设备110例如经由网络460和/或通过以其它方式将信息传送到服务器计算设备410来将针对特定乘坐的乘坐数据和相关联反馈发送到服务器计算设备410。服务器计算设备410可以将乘坐数据和相关联反馈存储在存储系统450中。

在乘坐结束时,可以使用相同或相似的界面来提供指示乘坐已经完成之后的总体乘坐质量值的反馈。在这方面,按钮1、2、3和4的值可以“反转”或按1至4的标度表示星级的某个值,其中1表示非常低质量的乘坐,而4表示非常高质量的乘坐。虽然可以使用车辆内的上面提到的界面800,但是可替代地,可以在乘坐完成之后在乘客的客户端计算设备的显示器上显现虚拟按钮的类似布置。

例如,图8B提供了用于在乘坐之后提供反馈的用户界面850。用户界面800包括多个虚拟的(例如,呈现在触摸屏显示器(诸如图8A中所示的内部电子显示器152)或客户端计算设备的显示器(诸如客户端计算设备120的显示器422)上)或位于车辆中的实际的物理按钮。每个按钮860、870、880、890分别包括对应的星评级值:“1”、“2”、“3”、“4”。这些星评级值可以指示对完成的乘坐的总体满意级别,其中1表示非常低的满意度或低总体乘坐质量,而4表示非常高的满意度或高总体乘坐质量。例如,乘客可以通过突出显示最大数量的星中给定数量的星(即,4颗星中的3颗将得出3星评级值)或通过简单地轻击代表特定值(即,“3”星将得出3星评级值)来指示星评级值。例如,返回图6,一旦车辆已经完成沿着路线610的乘坐,乘客(例如,用户432)就可能已经提供了反馈。如图所示,这个反馈可以指示由乘客提供的2星的总体乘坐质量值,表示相当低的总体乘坐质量。这个反馈还可以与乘坐标识符(RID)和时间戳(T2)相关联。再次,星评级值也可以转换成某个其它归一化值(例如,按0至1的标度,其中零是非常低的乘坐质量,而1是非常高的乘坐质量),代表给定乘坐的总体乘坐质量。当然,标度也可以反转,使得1是非常低质量的乘坐,而0是非常高质量的乘坐。再次,可替代地,不是简单地使用数字评级值,评级值可以是静态或动画的图标,例如表示乘客的情绪状态的脸。

客户端计算设备(经由应用)然后可以自动将这个星评级值和/或归一化值发送到服务器计算设备410和/或计算设备110。计算设备110还可以例如经由网络460和/或其它传送将上面提到的乘坐数据提供给服务器计算设备110,以与由乘客提供的总体乘坐质量值相关联。然后可以将所有这些信息存储在存储系统450中。

为了训练第一模型,服务器计算设备210可以从存储系统450接收乘坐数据和反馈,如图7的方框710中所示。在这种情况下,反馈可以包括指示在第一乘坐期间由自主车辆的乘坐者识别出的不适级别的乘坐质量值。如上所述,这个乘坐质量值可以指示在特定乘坐期间发生的事件期间乘客的不适级别。

可以使用乘坐数据和乘坐质量值来训练第一模型,使得该模型被配置为响应于接收到第二乘坐的乘坐数据作为输入而输出可能在第二乘坐期间造成乘客不适的事件的列表,如图7的方框720中所示。训练数据还可以包括上面提到的事件代码。在这方面,乘坐数据可以用作训练输入,并且事件代码和乘坐质量值可以被用作训练输出。用于训练模型的信息(即,乘坐数据和反馈)越多,可以预期模型越好地预测可能造成不适的事件。在这方面,可以使用测试乘坐者针对多次乘坐的乘坐数据和相关联不适级别来训练第一模型,以便识别使乘坐者不适的事件以及这种不适的级别。再次,不适级别可以与按上面提到的归一化标度的值对应。该模型可以包括任何类型的机器学习模型,诸如神经网络、深度神经网络、随时间的卷积神经网络、循环神经网络等。可替代地,可以使用其它非机器学习模型。例如,如果车辆在黄灯期间横穿交叉路口,那么在某种意义上,跟踪在灯为黄色时在那个交叉路口花费的时间量可以被用作舒适度的测量。

在一些情况下,第一模型不是单个模型,而是实际上可以是不同模型的集合或聚集,这些模型可以单独或一起用于预测不同类型的事件。这些不同模型中的每一个都可以被用于识别某个事件代码或事件代码的组(例如,类别)。例如,可以使用不同的模型对事件进行分类,或者更确切地说,识别可能造成不适的不同类型的行为的事件代码。作为示例,第一模型可以包括用于检测车辆正在急转弯的情况并提供与急转弯相关联的事件代码的模型。类似地,第一模型还可以包括用于检测如下情况的模型:给定车辆当前所在的上下文车辆正在制动、行驶太慢(例如,当其它车辆以55mph或以上行驶时,在高速公路上以30mph行驶)、以高速转弯、太靠近另一个对象而没有用力制动等。

然后,第一模型可以被用于从不同乘坐的乘坐数据中检测不适事件。例如,可以通过生成模拟来测试用于控制车辆的自主控制车辆软件,例如从来自先前现实世界驾驶情况的日志数据中生成模拟。模拟的输出可以包括乘坐数据,诸如仅特定类型的数据,诸如来自车辆的规划器系统(或更确切地说,规划器系统软件模块)的运动规划命令、来自车辆的遥测、来自地图信息的用于控制车辆的上下文、来自车辆的感知系统(或更确切地说,感知系统软件模块)的其他道路使用者的经处理的或原始传感器数据、加速度信息、加速度变化率信息等。模拟乘坐数据可以被输入到第一模型中,以便分析由自主车辆控制软件生成的乘坐数据,并提供事件的列表和每个事件的不适级别。照此,第一模型可以提供给定的模拟或多个模拟的乘坐质量。

图9提供了给定乘坐或模拟乘坐的第一模型的输出的示例900。示例900提供用于由乘坐标识符“00001”识别的乘坐或模拟的输出。乘坐标识符和时间戳可以被用于识别何时以及在哪个模拟或乘坐中发生事件。照此,输出还包括事件代码的列表,这些事件代码可以被用于识别某种类型的事件或操纵,诸如在乘坐或模拟期间发生的左转、右转、硬制动事件等,以及与按上面提到的归一化标度的值对应的不适级别。

根据这个信息,第一模型可以被用于评估自主车辆控制软件的不同版本的乘坐质量。例如,第一模型的输出可以被用于识别由自主车辆控制软件的给定版本造成的、可能使乘客感到不适的特定类型的事件,或者更确切地说,与相对高的不适级别(即,按在上面提到的归一化标度更接近1)对应的那些特定类型的事件。然后,可以根据事件的列表和不适级别来标记这个输出以供审核。例如,参考示例900,给定0.5的不适级别可以被认为相当高,可以将时间戳T7和/或乘坐标识符00001的事件标记以供进一步审核。

这进而可以被用于对软件进行调整,以便例如通过减少在未来的乘坐期间由自主车辆控制软件造成的这种特定类型的事件的数量来总体改进的乘坐质量。作为示例,工程师可以优先对自主车辆控制软件进行重新编程,以便减少具有最高不适级别的类型的事件。作为另一个示例,工程师可以优先对自主车辆控制软件进行重新编程,以便减少具有相对高发生可能性的给定类型的事件的数量,即使该给定类型的事件具有较低的不适级别。附加地或可替代地,自主车辆控制软件可以被重新编程,以便用具有较低不适级别的其它类型的事件或某些类型的操纵“替换”具有高不适级别的事件,例如某些类型的操纵。

第一模型还可以被用于从某些现实世界乘坐的乘坐数据检测不适事件。例如,如上所述,乘客可以在乘坐已经完成之后提供总体乘坐质量值。再次,如上所述,这可以包括评级,诸如1至4星等。对于低于某些阈值(例如,2星或以下)的乘坐,可以自动使用第一模型来检测在乘坐期间发生的不适事件,以便针对提供了低总体乘坐质量值(或更确切地说是星评级值)的特定乘客在将来避免此类事件。此外,这个信息还可以被用于对软件进行调整,以便总体改进乘坐质量,如上文关于模拟乘坐所讨论的,以及潜在地识别特定于某些位置和一天中的某些时间的不适的模式,这可以被用于避免在一天中的那些时间在那些地点(例如,在某些路线上)驾驶,以便改进舒适度。

图10包括可以由一个或多个处理器(诸如计算设备410的处理器)执行的用于训练用于评估自主车辆乘坐的总体乘坐质量的模型的示例中的一些的示例流程图1000。如方框1010中所示,接收识别来自自主车辆的规划器系统的输出和来自自主车辆的感知系统的输出的第一乘坐数据。第一乘坐数据与第一总体乘坐质量值相关联,该第一总体乘坐质量值指示自主车辆的乘坐者在第一乘坐期间的总体乘坐质量。例如,服务器计算设备410可以从存储系统450检索乘坐数据和相关联反馈,这里是总体乘坐质量值和/或星评级值。

可以使用乘坐数据和第一总体乘坐质量值来训练第二模型,使得该模型被配置为响应于接收到第二乘坐的第二乘坐数据作为输入而输出第二乘坐的第二总体乘坐质量值,如方框1020中所示。例如,可以使用星评级值和乘客的多次乘坐的相关联乘坐数据来训练第二模型,以便识别总体乘坐质量值。如上所述,可以将星评级值转换成某个其它归一化值,以表示总体乘坐质量并与乘坐的乘坐数据相关联。此外,为了更好地通知第二模型,也可以使用识别乘坐期间的不适事件(对于其乘坐数据用于训练模型)的第一模型的输出来训练第二模型。在这方面,第一模型的输出和/或乘坐数据可以被用作训练输入,并且总体乘坐质量值可以被用作训练输出。再次,用于训练第二模型的信息(即,乘坐数据和反馈)越多,可以预期第二模型越好地预测总体乘坐质量值。

第二模型可以包括任何类型的机器学习模型,诸如神经网络、深度神经网络、随时间的卷积神经网络、循环神经网络等。在这种情况下,通过使用随时间的卷积神经网络,这可以允许第二模型辨识事件之间的关系、事件在乘坐期间何时发生以及它们如何影响总体乘坐质量。例如,如果在乘坐的开始或结束时发生不适事件,那么与在乘坐中途发生同一事件相比,这会对总体乘坐质量具有更大的影响。

还可以使用来自乘客的附加信息来训练第二模型。例如,在经历了低质量的乘坐之后,一些乘客可能不再乘坐。照此,这个信息可以被用于训练模型,以便预测乘客继续使用该服务的可能性。对于预测为有可能离开的乘客,可以使用第一模型来识别那个乘客的一次或多次乘坐期间的任何不适事件,并且在将来,可以控制车辆以针对那个特定乘客避免那些事件。再次,乘客是否可能停止使用该服务可以基于归一化值(例如,按0至1的标度,其中零是停止使用该服务的非常低的可能性,而1是停止使用该服务的非常高的可能性),代表乘客停止使用该服务的总体可能性。

作为另一个实例,可以使用识别乘坐的晕动病估计的数据来训练第二模型。例如,可以基于横向和向前加速度、转向角(以及转向角随时间的改变)和/或加速度变化率值来评估乘坐的晕动病。作为示例,类似于图8A的界面800的界面可以被用于指示在特定事件期间或紧接之后的晕动病。按钮810、820、830、840的这些值可以指示晕动病的级别,例如在1至4的范围内,其中1表示非常低或轻微的晕动病级别,而4表示非常高或强烈的晕动病级别。在不愉快的事件期间或紧接之后,乘客可以例如使用他或她的手指并轻击显示器或按下物理按钮之一来选择,以便向计算设备110提供关于乘坐的实时反馈。在这方面,晕动病评估可以类似于上面讨论的乘坐质量值。照此,第二模型也可以识别乘坐是否与高晕动病值相关联。再次,这些值也可以转换成某个其它归一化值(例如,按0至1的标度,其中零是非常低的晕动病,而1是非常高的晕动病),代表给定乘坐的总体晕动病值。例如,这可以通过对值求和、取平均值、取具有指数衰减的移动平均值等来实现。

图11提供了给定乘坐或模拟乘坐的第二模型的输出的示例1100。示例1100提供用于由乘坐标识符“00001”至“n”识别的多个乘坐或模拟的输出。输出包括识别可以被用于识别哪个乘坐或乘坐模拟的乘坐标识符的乘坐信息、代表乘客将有多大可能经历晕动病的晕动病值(晕动病)、与按上面提到的归一化标度的值对应的总体乘坐质量值(总体),以及指示乘客在乘坐之后将有多大可能停止使用该服务的似然值(停止值)。如图所示,这些值都按上面提到的0至1的标度进行归一化。

第二模型也可以被用于确定现实世界和模拟乘坐的总体乘坐质量。例如,第二模型可以用于评估哪些总体乘坐质量值可能会造成乘客流失。然后,可以根据总体乘坐质量值和/或乘客停止使用该服务的可能性,标记这个输出以供审核。作为示例,参考示例1100,给定高晕动病值(0.4)、乘客停止使用该服务的高可能性(0.5)以及低总体乘坐质量值(0.3),可以标记乘坐标识符00002以供进一步审核。此外,如上所述,可以将具有较低(即,更接近0)的总体乘坐质量值的任何乘坐的乘坐数据输入到第一模型中,以便识别最有可能对总体乘坐质量具有影响的特定事件。

进而,这可以被用于优先进行工程工作以对软件进行调整,以便总体改进乘坐质量。此外,可以将模拟乘坐数据输入到第二模型中,以便分析由自主车辆控制软件生成的乘坐数据,并提供总体乘坐质量值和/或乘客将不再使用该服务的可能性以供模拟。许多不同的模拟中的第二模型的输出可以被用于优先进行工程工作以对软件进行调整,以便总体改进乘坐质量。

总体乘坐质量值可以被用于对自主车辆控制软件和/或服务总体做出评估。例如,在给定驾驶英里数的情况下,第二模型的输出可以被用于提供给定时间段内该服务的总体乘坐质量的估计。此外,可以使用相同的数据来评估来自乘坐数据的某些类型的操纵(诸如左转、右转、车道改变、高速公路并道等)如何影响总体乘坐质量值。再次,这个信息可以被用于优先进行工程工作以对软件进行调整,以便总体改进乘坐质量。

除了上面提到的“离线”评估之外,还可以将第一模型和第二模型提供给一个或多个车辆,以便允许那些车辆的计算设备做出更好的知情驾驶决策。例如,第一模型和第二模型可以例如经由网络460被发送到车辆100的计算设备110或者通过其它方式将这个信息加载到计算设备110中。然后可以将这个信息存储在计算设备110的存储器130中,以便允许计算设备使用第一模型和第二模型来评估乘客的乘坐质量,以及本质上评估乘客在乘坐期间的感觉,以便必要时提供某种级别的干预。

例如,可以运行第一模型以便识别可能使乘客感到不适的事件。作为响应,计算设备可以采取一个或多个干预动作。这可以包括例如改变用户界面的各方面以识别乘客正在经历什么、将乘客与礼宾连接(例如,连接到操作礼宾工作站440的用户442)以与乘客交谈并消除任何顾虑、自动改变环境(例如,通过播放正面或乐观的音乐和/或通过显示其它信息来娱乐和分散乘客的注意力)等,并且所有这些都是为了帮助乘客放松。

例如,在不适的硬制动事件之后,第一模型可以被用于确定该事件的不适级别。可以分析事件的乘坐数据,以识别造成事件的对象,例如另一车辆、行人、骑自行车的人、黄灯等。然后,这个信息可以被用于生成解释情况的消息,诸如“我们不得不为刚刚从右侧切入的车辆制动,对由此带来的不适深感抱歉”。该消息可以使用扬声器154可听地传达给乘客和/或例如,通过在内部电子显示器152上显示可视地传达给乘客。这种通信可能具有减少乘客的负面体验的潜力。

对于另一种情况,可以运行第二模型以便确定特定乘坐对乘客进行得多好或多不好。取决于用于训练第二模型的数据,这可以实质上允许计算设备110评估乘客的情绪状态,并且取决于那个情绪状态(即,乘客可能在乘坐期间的任何给定点给出哪个总体评级),计算设备可以采取上面提到的一个或多个干预动作中的任何一个。

虽然本文的示例涉及通过接收明确的用户输入来搜集反馈,诸如关于图8A和图8B描述的,但是也可以以其它方式生成反馈。例如,相机和/或生物识别(biometric)(例如,皮肤)传感器可以被用于在乘坐期间监视乘客。乘客的表情或生物识别信息的改变可以被用于估计特定事件的对应不适级别、乘客是否正在经历晕动病和/或对完成的乘坐的总体满意级别。

因此,本文描述的特征可以允许在现实世界和模拟乘坐两者中检测不适事件并评估总体乘坐质量。进而,这允许优先进行工程工作以改进自主车辆控制软件、改变乘坐行为,以便增加乘坐保留率并避免乘坐者流失,并在发生不适事件时提供干预。

除非另有说明,否则前述替代示例不是相互排斥的,而是可以以各种组合实现,以实现独特的优点。由于可以在不脱离由权利要求定义的主题的情况下利用上面讨论的特征的这些及其它变化和组合,因此实施例的前述描述应当通过说明的方式而不是限制由权利要求定义的主题的方式来理解。此外,本文描述的示例的提供以及表述为“诸如”、“包括”等的条款不应当被解释为将权利要求的主题限制于具体示例;更确切地说,这些示例仅旨在说明许多可能的实施例中的一个。另外,不同附图中的相同参考标记可以识别相同或相似的元件。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号