为自动驾驶车辆管理车辆组的方法和系统与流程

文档序号:14555742阅读:292来源:国知局
为自动驾驶车辆管理车辆组的方法和系统与流程

本发明的实施例涉及通常地操作自动驾驶车辆。更具体地,本发明的实施例涉及为自动驾驶车辆管理车辆组。



背景技术:

以自动驾驶(例如无人驾驶)模式运行的车辆可以减轻使用者,特别是司机的与驾驶相关的责任。当以自动驾驶模式运行时,车辆可以使用车载传感器导航到各个位置,允许车辆以最低限度的人机交互或在某些情况下不搭载任何乘客而行驶。

然而,以自动驾驶模式运行的常规车辆在车辆行驶时不会为使用者提供他们可能期望的享受。常规车辆更不会利用使用者旅途中的空闲时间来追求经济或商业机会。



技术实现要素:

根据本发明的一个方面,提供了一种用于管理自动驾驶车辆的计算机实现的方法,所述方法包括:通过网络从第一自动驾驶车辆接收路线段信息,其中所述路线段信息包括一个或多个路线段和预计进入时间,每个所述进入时间与所述路线段中的一个路线段相关联,并且表示所述第一自动驾驶车辆进入该路线段的时间;基于与特定路线段相关联的进入时间和所述第一自动驾驶车辆的当前位置,确定所述第一自动驾驶车辆是否在所述特定路线段内;以及如果所述第一自动驾驶车辆在所述特定路线段内,则发送请求以邀请所述第一自动驾驶车辆加入与所述特定路线段相关联的一个或多个车辆的车辆组,其中所述车辆组是基于从多个自动驾驶车辆接收的路线段信息确定的多个车辆组中的一个车辆组。

根据本发明的另一方面,提供了一种在其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行用于形成自动驾驶车辆的车辆组的操作,所述操作包括:通过网络从第一自动驾驶车辆接收路线段信息,其中所述路线段信息包括一个或多个路线段和预计进入时间,每个所述进入时间与所述路线段中的一个路线段相关联,并且表示所述第一自动驾驶车辆进入该路线段的时间;基于与特定路线段相关联的进入时间和所述第一自动驾驶车辆的当前位置,确定所述第一自动驾驶车辆是否在所述特定路线段内;以及如果所述第一自动驾驶车辆在所述特定路线段内,则发送请求以邀请所述第一自动驾驶车辆加入与所述特定路线段相关联的一个或多个车辆的车辆组,其中所述车辆组是基于从多个自动驾驶车辆接收的路线段信息确定的多个车辆组中的一个车辆组。

根据本发明的又一方面,提供了一种数据处理系统,其包括:处理器;以及存储器,耦合至所述处理器以存储指令,所述指令在由所述处理器执行时使所述处理器执行用于形成自动驾驶车辆的车辆组的操作,所述操作包括:通过网络从第一自动驾驶车辆接收路线段信息,其中所述路线段信息包括一个或多个路线段和预计进入时间,每个所述进入时间与所述路线段中的一个路线段相关联,并且表示所述第一自动驾驶车辆进入该路线段的时间;基于与特定路线段相关联的进入时间和所述第一自动驾驶车辆的当前位置,确定所述第一自动驾驶车辆是否在所述特定路线段内;以及如果所述第一自动驾驶车辆在所述特定路线段内,发送请求以邀请所述第一自动驾驶车辆加入与所述特定路线段相关联的一个或多个车辆的车辆组,其中所述车辆组是基于从多个自动驾驶车辆接收的路线段信息确定的多个车辆组中的一个车辆组。

根据本发明的另外一方面,提供了一种用于操作自动驾驶车辆的计算机实现的方法,所述方法包括:获取响应于输入的目的地的行程,所述行程包括到所述输入的目的地的路线,所述路线具有多个兴趣点;基于所述兴趣点和位置以及地图信息,将所述路线分割为多个路线段;通过网络将所述路线段信息传送到远程服务器,其中所述远程服务器通过所述网络从多个自动驾驶车辆接收路线段信息;接收车辆组标识符(id),该车辆组标识符(id)用于从所述远程服务器识别一个或多个附近车辆的组,其中所述远程服务器基于从所述多个自动驾驶车辆接收的所述路线段信息确定多个车辆组;以及响应于所述车辆组id,加入所述一个或多个附近车辆的组以允许所述附近车辆的乘客彼此通信。

附图说明

本发明的实施例由示例示出并且不受附图的图形所限,并且在附图中,相同的附图标记表示相似的元件。

图1是示出根据本发明的一个实施例的联网系统的框图;

图2是示出根据本发明的一个实施例的自动驾驶车辆的示例的框图;

图3是示出根据本发明的一个实施例的与自动驾驶车辆一起使用的感知和规划系统的示例的框图;

图4是示出根据本发明的一个实施例的一个或多个自动驾驶车辆的车辆组的示例的图;

图5是示出根据本发明的一个实施例的管理自动驾驶车辆的示例的框图;

图6是示出根据本发明的一个实施例的操作自动驾驶车辆的过程的流程图;

图7是示出根据本发明的一个实施例的管理自动驾驶车辆的过程的流程图;

图8是示出根据本发明的一个实施例的管理自动驾驶车辆的另一过程的流程图;以及

图9是示出根据一个实施例的数据处理系统的框图。

具体实施方式

本发明的各个实施例和方面将参考以下详细描述的内容进行描述,并且附图将示出各个实施例。以下描述和附图是对本发明的说明,而不应被解释为限制本发明。诸多具体细节的描述提供了对本发明的各个实施例的透彻理解。然而,在某些情况下,不对公知的或常规的细节进行描述,以便提供本发明的实施例的简明讨论。

说明书中提及“一个实施例”或“实施例”意味着结合实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”并不一定都是指同一实施例。

根据一些实施例,系统基于每个自动驾驶车辆的行程组合一个或多个自动驾驶车辆。行程包括从起点到目的地的路线。该路线包括一个或多个路线段和一个或多个兴趣点(例如,本地商家、景点、学校、教堂等)。通过对自动驾驶车辆进行分组,系统建立车辆上的乘客之间的联系,这些乘客在他们的行程中行驶在至少一个共同路线段上。乘客可以彼此互动,例如通过车辆组提供的社团而分享与他们的旅程相关的信息。

在一个实施例中,路线段信息通过网络从第一自动驾驶车辆接收。路线段信息包括一个或多个路线段和预计进入时间,每个进入时间与路线段中的一个路线段相关联并且表示第一自动驾驶车辆进入该路线段的时间。基于与特定路线段相关联的进入时间和第一自动驾驶车辆的当前位置确定第一自动驾驶车辆是否在特定路线段内。如果第一自动驾驶车辆在特定路线段内,则发送请求以邀请第一自动驾驶车辆加入与特定路线段相关联的一个或多个车辆的车辆组。车辆组是基于从多个自动驾驶车辆接收到的路线段信息而确定的一个或多个车辆组,其中每个车辆组与特定路线段相关联。

在一个实施例中,响应于输入的目的地而获取行程。行程包括到输入的目的地的路线。该路线有多个兴趣点。基于兴趣点和位置以及地图信息,路线被分割为多个路线段。路线段信息通过网络发送到远程服务器。远程服务器通过网络从多个自动驾驶车辆接收路线段信息。车辆组标识符(id)被接收,其中车辆组标识符从远程服务器中识别一个或多个附近车辆的组。远程服务器基于从多个自动驾驶车辆接收的路线段信息确定多个车辆组。响应于车辆组标识符,一个或多个附近车辆的组被连接,以允许附近车辆的乘客彼此通信。

图1是示出根据本发明的一个实施例的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括自动驾驶车辆101,该自动驾驶车辆101可以通过网络102以通信方式耦合到一个或多个服务器103-104。虽然示出的是一个自动驾驶车辆,但是多个自动驾驶车辆可以通过网络102彼此耦合和/或耦合到服务器103-104。网络102可以是有线或无线的任何类型的网络,例如局域网(lan)、诸如因特网的广域网(wan)、蜂窝网络、卫星网络或其组合。服务器103-104可以是任何类型的服务器或服务器集群,诸如web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(mpoi)服务器或位置服务器等。

自动驾驶车辆是指可以被配置为处于自动驾驶模式的车辆,在自动驾驶模式中车辆在极少或没有来自驾驶员的输入的环境中行驶。这样的自动驾驶车辆可以包括具有一个或多个传感器的传感器系统,该一个或多个传感器被配置为检测关于车辆运行环境的信息。车辆及其相关联的控制器使用检测到的信息在环境中行驶。自动驾驶车辆101可以以手动模式、完全自动驾驶模式或部分自动驾驶模式运行。

在一个实施例中,自动驾驶车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户界面系统113和传感器系统114。自动驾驶车辆101可以进一步包括在普通车辆中包含的某些通用组件,例如发动机、车轮、方向盘、变速器等,其可以由使用各种通信信号和/或命令,例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等的车辆控制系统111和/或感知和规划系统110控制。

组件110-114可以经由互连、总线、网络或其组合以通信方式彼此耦合。例如,组件110-114可以经由控制器局域网络(can)总线以通信方式彼此耦合。can总线是一种车辆总线标准,旨在允许微控制器和设备在没有主机的应用中相互通信。它是一种基于消息的协议,最初用于车辆中的多路电线,但也用于多个其他环境。

现参考图2,在一个实施例中,传感器系统114包括但不限于一个或多个相机211、全球定位系统(gps)单元212、惯性测量单元(imu)213、雷达单元214和激光雷达(lidar)单元215。gps单元212可以包括可操作以提供关于自动驾驶车辆的位置的信息的收发器。imu213可以基于惯性加速度而感测自动驾驶车辆的位置和方向变化。雷达单元214可以表示用无线电信号感测自动驾驶车辆的局部环境内的物体的系统。在一些实施例中,除了感测物体之外,雷达单元214还可以感测物体的速度和/或前进方向。lidar单元215可以使用激光来感测自动驾驶车辆所在的环境中的物体。lidar单元215可以包括一个或多个激光源、激光扫描器和一个或多个检测器以及其他系统组件。相机211可以包括一个或多个设备以捕获自动驾驶车辆周围的环境的图像。相机211可以是静物照相机和/或摄像机。相机可以是,例如通过将相机安装在旋转和/或倾斜平台上而机械地移动。

传感器系统114还可以包括诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)的其他传感器。音频传感器可以被配置为捕获来从自动驾驶车辆周围的环境的声音。转向传感器可以被配置为感测车辆的方向盘、车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在某些情况下,油门传感器和制动传感器可以集成为一体式油门/制动传感器。

在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调整车辆的方向或前进方向。油门单元202用于控制电动机或发动机的转速,从而控制车辆的速度和加速度。制动单元203通过提供摩擦力来使车辆的车轮或轮胎变慢以对车辆进行减速。需要注意的是,如图2所示的组件可以以硬件、软件或其组合的形式来实现。

再参考图1,无线通信系统112实现了自动驾驶车辆101和外部系统(例如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统112可以直接地与一个或多个设备进行无线通信,或者通过诸如服务器103-104和网络102的通信网络与一个或多个设备进行无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(wlan),例如,使用wifi与另一个组件或系统进行通信。无线通信系统112可以直接与设备(例如,乘客的移动设备、车辆101内的显示设备、扬声器)进行通信,例如使用红外线链路、蓝牙等。用户界面系统113可以是在车辆101内实现的部分外围设备,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。

自动驾驶车辆101的部分或全部功能可以由感知和规划系统110来控制或管理,特别是当以自动驾驶模式运行时。感知和规划系统110包括必要硬件(例如处理器、内存、存储器)和软件(例如,操作系统、规划和路线程序)来从传感器系统114、车辆控制系统111、无线通信系统112和/或用户界面系统113接收信息、处理接收到的信息、规划从起始点到目的地点的路线或路径、然后基于规划和控制信息驾驶车辆101。或者,感知和规划系统110可以与车辆控制系统111相结合。

例如,作为乘客的用户可以例如经由用户界面来指定旅程的起始位置和目的地。感知和规划系统110获取旅程相关数据。例如,感知和规划系统110可以从mpoi服务器获取位置和路线信息,mpoi服务器可以是服务器103-104的一部分。位置服务器提供位置服务,mpoi服务器提供地图服务和某些位置的兴趣点。或者,这样的位置和mpoi信息可以本地地缓存于感知和规划系统110的永久存储设备中。

自动驾驶车辆101沿路线行进时,感知和规划系统110也可以从交通信息系统或服务器(tis)获取实时交通信息。需要注意的是,服务器103-104可以由第三方实体操作。或者,服务器103-104的功能可以与感知和规划系统110相结合。基于实时交通信息、mpoi信息和位置信息,以及由传感器系统114检测或感测到的实时本地环境数据(例如,障碍物、物体、附近车辆),感知和规划系统110可以规划最佳路线并例如经由车辆控制系统111来驾驶车辆101按照规划的路线安全且高效地到达指定的目的地。

根据一个实施例,如图1所示,服务器103包括智能调度器121和车辆管理器122。智能调度器121决定是否将自动驾驶车辆分配给一个或多个车辆组。车辆管理器122管理一个或多个车辆组及其相关联的车辆。

在一个实施例中,智能调度器121可以基于路线段信息和自动驾驶车辆的当前位置确定车辆是否在路线内的特定路线段内。如果确定车辆在路线内的特定路线段内,则智能调度器121可以发送请求以邀请车辆加入与特定路线段相关联的车辆组。然而,如果车辆之前在特定路线段内并且已经离开,则智能调度器121可以请求将车辆从车辆组中移除。

在一个实施例中,如果自动驾驶车辆的乘客接受邀请而加入特定车辆组,则车辆管理器122用于将车辆置于特定车辆组中。另一方面,如果例如智能调度器121提出请求,则车辆管理器122可以从车辆组中移除车辆。

图3是示出根据本发明的一个实施例的与自动驾驶车辆一起使用的感知和规划系统的示例的框图。系统300可以被实施为图1的自动驾驶车辆101的一部分,并包括但不限于感知和规划系统110、车辆控制系统111和传感器系统114。参考图3,感知和规划系统110包括但不限于定位模块301、感知模块302、决策模块303、规划模块304、控制模块305和行程规划模块306。

模块301-306中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可以安装在永久存储设备352中、加载到存储器351中、并由一个或多个处理器(未示出)执行。需要注意的是,这些模块中的一些或全部可以以通信方式耦合到图2的车辆控制系统111的一些或全部模块或与他们结合。模块301-306中的一些可以结合在一起而作为集成模块。

定位模块301(也称为地图和路线模块)管理与用户的旅程或路线相关的任何数据。用户可以通过例如用户界面登录并指定旅程的起始位置和目的地。定位模块301与自动驾驶车辆300的其他部件通信,例如地图和路线信息311,以获取旅程相关数据。例如,定位模块301可以从位置服务器和地图和poi(mpoi)服务器获取位置和路线信息。位置服务器提供位置服务,mpoi服务器提供地图服务和某些位置的poi,其可以作为地图和路线信息311的一部分被缓存。在自动驾驶车辆300沿路线行进期间,定位模块301还可以获取来自交通信息系统或服务器的实时交通信息。

基于由传感器系统114提供的传感器数据和由定位模块301获取的定位信息,感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员会感知到的驾驶员驾驶的车辆周围的信息。感知可以包括车道配置(例如,直线或曲线车道)、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或其他例如以物体形式的与交通相关的标志(例如,停车标志、让路标志)等等。

感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,来处理和分析由一个或多个相机捕捉的图像,以便识别自动驾驶车辆的环境中的物体和/或特征。物体可以包括交通信号灯、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用物体识别算法、视频追踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以绘制(map)环境、追踪对象并估计对象的速度等。感知模块302还可以基于由其他传感器(例如雷达和/或lidar)提供的其他传感器数据检测对象。

对于每个对象,决策模块303做出关于如何处理对象的决定。例如,对于特定对象(例如,在十字路口的另一车辆)以及其描述对象的元数据(例如,速度、方向、转向角度),决策模块303决定如何与对象相遇(例如,超车、让路、停止、通过)。决策模块303可以根据可存储在永久存储设备352(未示出)中的一组规则例如交通规则而做出这样的决定。

基于对所感知到的每个对象的决定,规划模块304规划自动驾驶车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角度)。即,对于给定对象,决策模块303决定如何处理该对象,而规划模块304确定如何执行该决定。例如,对于给定对象,决策模块303可以决定超过该对象,而规划模块304可以确定从对象的左侧还是右侧超车。规划和控制数据由规划模块304生成,并包括描述车辆300如何在下一个移动周期(例如,下一个路线/路径段)中移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度变到右车道。

根据规划和控制数据,控制模块305根据由规划和控制数据定义的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制和驱动自动驾驶车辆。规划和控制数据包括足够的信息,以便使用适当的车辆设置或驱动参数(例如,油门、制动和转向命令),在不同的时间点沿着路径或路线及时地将车辆从路线或路径的第一点驱动到第二点。

需要注意的是,决策模块303和规划模块304可以集成为集成模块。决策模块303/规划模块304可以包括导航系统或导航系统的功能,来确定自动驾驶车辆的驾驶路径。例如,导航系统可以确定一系列速度和行进方向,以实现自动驾驶车辆沿着基本上避开了所感知到的障碍的路径的移动,同时一般沿着通向最终目的地的基于道路的路径推进自动驾驶车辆。目的地可以根据经由用户界面系统113的用户输入设置。导航系统可以在自动驾驶车辆运行时动态地更新驾驶路径。导航系统可以包含来自gps系统的数据和一个或多个地图,以便确定自动驾驶车辆的驾驶路径。

决策模块303/规划模块304还可以包括防撞系统或防撞系统的功能,来识别、评估和避免或交涉自动驾驶车辆的环境中的潜在障碍。例如,防撞系统可以通过在车辆控制系统111中操作一个或多个子系统来实现自动驾驶车辆的导航中的变化,以承担转弯调遣、转向调遣、制动调遣等。防撞系统可以基于周围的交通模式、道路状况等,自动地确定可行的防撞调遣。防撞系统可以被配置为当其他传感器系统检测到在自动驾驶车辆将转弯进入的相邻区域内有车辆、施工障碍等时,不进行转弯调遣。防撞系统可以自动选择可用且可以使自动驾驶车辆的使用者的安全最大化的调遣。防撞系统可以选择预计在自动驾驶车辆的乘客舱内造成最小量加速度的防撞调遣。

行程规划模块306分析旅程的行程。例如,用户或乘客可以经由诸如用户界面系统113的用户界面指定旅程的起始位置和/或目的地。使用指定的起始位置和/或目的地,定位模块301可以形成包含到达指定目的地的路线的行程。行程规划模块306可以从定位模块301获取行程,并且将路线划分或分割为路线段并评估每个路线段。评估后的路线段可以作为路线段信息经由诸如网络102的网络发送到远程服务器(例如,服务器103),用于例如由智能调度器121进行处理。在一些实施例中,起始位置可以基于例如由gps单元212提供的而非由用户指定的当前位置自动提供或构成。在一些实施例中,路线可以包括多个兴趣点,例如本地商家、景点、学校、教堂等。

图4是示出根据本发明的一个实施例的一个或多个自动驾驶车辆的车辆组的示例的图。参考图4,自动驾驶车辆101a-e以通信方式耦合到服务器103,用于例如通过网络102向服务器103发送和从服务器103接收信息。自动驾驶车辆101a-e中的每一个,例如,可以将当前位置和路线段信息发送到服务器103,并且基于该信息,车辆可以从服务器103接收加入特定车辆组的请求。在图4的示例中,服务器103可以基于当前位置和路线段信息确定自动驾驶车辆101a-c在特定时间段的期间行驶在共同或相同路线段上。因此,服务器103可以向自动驾驶车辆101a-c中的每一个发送请求邀请该车辆加入第一车辆组401。当接受邀请时,自动驾驶车辆101a-c被分配至第一车辆组401。以上同样适用于图4所示的相对于第二车辆组402的自动驾驶车辆101d-e。

图5是示出根据本发明的一个实施例的管理自动驾驶车辆的示例的框图。在图5中,自动驾驶车辆101的乘客或用户可以启动发动机并输入旅程的起始位置和/或目的地。根据起始位置和目的地,自动驾驶车辆101经由定位模块301可以创建包含到达目的地的路线的行程,路线包括多个兴趣点。

行程规划模块306可以从定位模块301接收行程,并且基于兴趣点和位置以及地图信息(例如,由mpoi服务器提供)将路线分割(例如,使用地图api)为一个或多个路线段501。在一些实施例中,对于每个路线段501,行程规划模块306可以计算或估算代表自动驾驶车辆101将进入路线段的时间的预计进入时间。预计进入时间可以例如基于当前时间和自动驾驶车辆101的当前位置和速度计算。随后,将路线段及其相关联的进入时间作为路线段信息例如通过网络102传送到智能调度器121。

智能调度器121接收路线段信息,并将该信息存储在例如远程服务器的存储器中。基于与特定路线段相关联的预计进入时间和自动驾驶车辆101的当前位置,智能调度器121可以例如定期确定自动驾驶车辆101是否行驶在特定路线段内。如果行驶在特定路线段内,则智能调度器121可以发送请求邀请自动驾驶车辆101加入与特定路线段相关联的车辆组(例如,车辆组502a、502b或502c)。该请求可以由感知和规划系统110或乘客的移动设备(例如,智能手机、平板电脑)接收。乘客可以使用例如用户界面系统113或移动设备接受请求。一旦接受邀请,智能调度器121就可向车辆管理器122发送请求或消息(例如,“加入”请求),以将自动驾驶车辆101分配给车辆组。另一方面,如果确定车辆已经离开或不再位于特定路线段内,智能调度器121可以发送请求(例如,“离开”请求)将自动驾驶车辆101从车辆组中移除。

车辆管理器122管理和监视多个车辆组502a-c及其相关联的自动驾驶车辆。车辆管理器122例如可以在接收到将车辆分配给车辆组的请求消息时,将自动驾驶车辆101安置或分配给车辆组502a-c中的一个。另一方面,当接收到要从车辆组中移除车辆的请求消息时,车辆管理器可以从车辆组中移除自动驾驶车辆101。在一些实施例中,如果当前没有与特定路线段相关联的车辆组,车辆管理器122可以创建或构建车辆组。在一些实施例中,如果当前没有与车辆组相关联的自动驾驶车辆,车辆管理器122可以终止或解构车辆组。

车辆组502a-c中的每一个可以提供具有社交媒体特征的社区,以关联车辆组内的一个或多个自动驾驶车辆的乘客。在一些实施例中,车辆组可以提供实时通信信道(例如,聊天),在其中,车辆组内的自动驾驶车辆的乘客可以生成内容(例如,文本帖子或评论、数字照片、视频)来彼此分享信息。例如,第一自动驾驶车辆的乘客通过用户界面系统113或移动设备可以构成并发送消息以分享或评论各种话题,例如道路和交通状况,兴趣点和/或他/她的目的地。消息可以由远程服务器(例如,服务器103)从第一自动驾驶车辆通过诸如网络102的网络接收。而远程服务器又可以将消息转发给第二自动驾驶车辆的乘客,其中可以使用第二自动驾驶车辆的用户界面系统113或第二自动驾驶车辆的乘客的移动设备来显示消息。在一些实施例中,如果消息被确定为无礼的消息,例如具有不雅、淫秽或虚假信息的消息,则车辆管理器122可以将创作该消息的第一自动驾驶车辆的乘客从车辆组中移除。

在一些实施例中,车辆组可以使乘客能够创建由远程服务器(例如,由车辆管理器122)维护的他们的用户档案。在其他实施例中,车辆组改为可以允许乘客从诸如等社交网站导入或并入他们的用户档案。用户档案,例如,可用于将车辆组内的一名乘客与另一名乘客关联起来。在一些实施例中,车辆组可以向乘客提供社交类游戏。例如,乘客可以从远程服务器下载一个或多个视频游戏,并且作为单机玩家或联机玩家(例如,与另一个乘客对战)玩视频游戏。在各种实施例中,社交媒体特征可以使商家参与营销研究、通信、促销和/或关系开发。例如,感知和规划系统110可以基于与对应于该组车辆的路线段相关联的兴趣点(例如,本地商家)从远程服务器接收媒体内容(例如,赞助的内容或广告)。媒体内容可以由远程服务器识别和呈现,并通过诸如用户界面系统113的用户界面或乘客的移动设备展示给自动驾驶车辆的乘客。

图6是示出根据本发明的一个实施例的操作自动驾驶车辆的过程的流程图。过程600可以由可包括软件、硬件或其组合的处理逻辑执行。例如,过程600可以由图1的感知和规划系统110执行。

参考图6,在框601处,处理逻辑基于输入的目的地获取自动驾驶车辆的行程。在框602处,处理逻辑基于车辆组数据(例如,兴趣点、位置和地图信息)将行程分割为一个或多个路线段。在框603处,对每个路线段,处理逻辑计算自动驾驶车辆进入路线段的进入时间。在框604处,处理逻辑向远程服务器(例如,服务器103)传送包括路线段和路线段的进入时间的路线段信息。在框605处,处理逻辑从远程服务器接收识别一个或多个附近车辆的组的车辆组标识符(id)。在框606处,处理逻辑加入车辆组以与车辆组的车辆的乘客通信。

图7是示出根据本发明的一个实施例的管理自动驾驶车辆的过程的流程图。过程700可以由可包括软件、硬件或其组合的处理逻辑执行。例如,过程700可以由图1的服务器103执行。

参考图7,在框701处,处理逻辑从多个自动驾驶车辆接收路线段信息(例如,路线段、路线段进入时间)。路线段信息可以描述车辆的路线的一个或多个路线段。在框702处,处理逻辑基于路线段信息确定与路线段相关联的一组或多组车辆。在框703处,处理逻辑基于与自动驾驶车辆相关联的特定路线段信息(例如,时间和位置)确定特定自动驾驶车辆是否与特定组相关联。在框704处,处理逻辑向自动驾驶车辆发送邀请,邀请自动驾驶车辆加入车辆的特定组。

图8是示出根据本发明的一个实施例的管理自动驾驶车辆的另一过程的流程图。过程800可以由可包括软件、硬件或其组合的处理逻辑执行。例如,过程800可以由图1的服务器103执行。

参考图8,在框801处,如果当前没有车辆组与特定路线段相关联,处理逻辑创建与特定路线段相关联的一个或多个自动驾驶车辆的车辆组。在框802处,如果自动驾驶车辆加入车辆组,处理逻辑将自动驾驶车辆添加到车辆组中。在框803处,如果自动驾驶车辆已经离开特定路线段,处理逻辑从车辆组中移除自动驾驶车辆。在框804处,如果当前没有与车辆组相关联的自动驾驶车辆,处理逻辑终止车辆组。

需要注意的是,如上所示和所述的部分或全部组件可以以软件、硬件或其组合来实现。例如,这样的组件可以被实现为安装并存储在永久存储设备中的软件,其可以由处理器(未示出)在存储器中加载和执行,以执行整个应用程序中描述的过程或操作。或者,这样的组件可以被实现为被编程或嵌入到诸如集成电路(例如,专用ic或asic(特定用途集成电路))、数字信号处理器(dsp)或现场可编程门阵列(fpga)的专用硬件中的可执行代码,其可以通过来自应用的相应的驱动器和/或操作系统来访问。此外,这些组件可以被实现为处理器或处理器核心中的特定硬件逻辑,作为可由软件组件经由一个或多个特定指令访问的指令集的一部分。

图9是示出可用于本发明的一个实施例的数据处理系统的示例的框图。例如,系统900可以表示执行上述任何过程或方法的上述任何数据处理系统,例如感知和规划系统110或图1的服务器103-104中的任一个。系统900可以包括多个不同的组件。这些组件可以被实现为集成电路(ic)、部分的集成电路、分立电子设备或适用于诸如计算机系统的主板或附加卡的电路板的其他模块,或者作为组件并入计算机系统的机壳内。

还需要注意的是,系统900旨在示出计算机系统的多个组件的高层视图。然而应当理解的是,在某些实现中可能存在附加组件,此外,所示组件的不同设置可以在其他实现中发生。系统900可以表示台式机、笔记本电脑、平板电脑、服务器、移动电话、媒体播放器、个人数字助理(pda)、智能手表、个人通信器、游戏设备,网络路由器或集线器、无线接入点(ap)或中继器、机顶盒或以上的组合。此外,虽然仅示出了单个机器或系统,但术语“机器”或“系统”也应被视为包括单独或联合执行一组(或多组)指令的机器或系统的任何集合,以执行本文讨论的任何一种或多种方法。

在一个实施例中,系统900经由总线或互连910而包括处理器901、存储器903和设备905-908。处理器901可以表示在其中具有单个处理器核心或多个处理器核心的单个处理器或多个处理器。处理器901可以表示一个或多个通用处理器,例如微处理器、中央处理单元(cpu)等。更具体地,处理器901可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实现其他指令集的处理器,或实现指令集集合的处理器。处理器901还可以是一个或多个专用处理器,例如特定用途集成电路(asic)、蜂窝或基带处理器、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器、图形处理器、通信处理器,密码处理器、协同处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。

处理器901可以是诸如超低电压处理器的低功率多核处理器插口,处理器901可以作为与系统的各种部件通信的主处理单元和中央集线器。这样的处理器可以被实现为片上系统(soc)。处理器901被配置为执行用于执行本文讨论的操作和步骤的指令。系统900还可以包括与可选图形子系统904通信的图形接口,其可以包括显示控制器、图形处理器和/或显示设备。

处理器901可以与存储器903进行通信,这在一个实施例中可以通过将多个存储器设备提供给定量的系统存储来实现。存储器903可以包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(ram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、静态随机存取存储器(sram)或其他类型的存储设备。存储器903可以存储包括由处理器901或任何其他设备执行的指令序列的信息。例如,可以将各种操作系统、设备驱动器、固件(例如,输入输出基本系统或bios(基本输入/输出系统))和/或应用程序的可执行代码和/或数据加载到存储器903中并由处理器901执行。操作系统可以是任何类型的操作系统,例如机器人操作系统(ros)、来自操作系统、来自apple的来自linux、unix或其他实时或嵌入式操作系统。

系统900还可以包括诸如设备905-908的io设备,包括网络接口设备905、可选的输入设备906和其他可选的io设备907。网络接口设备905可以包括无线收发器和/或网络接口卡(nic)。无线收发器可以是wifi收发器、红外收发器、蓝牙收发器、wimax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(gps)收发器)或其他射频(rf)收发器或其组合。nic可以是以太网卡。

输入设备906可以包括鼠标、触摸板、触敏屏幕(其可以与显示设备904相结合)、诸如触控笔的指向设备和/或键盘(例如,物理键盘或显示为触敏屏幕的一部分的虚拟键盘)。例如,输入设备906可以包括耦合到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器可以例如使用触敏技术中的任何一种来对接触和它的移动或断开进行检测,包括但不限于电容、电阻、红外和表面声波技术以及其他接近传感器阵列或用于确定与触摸屏的一个或多个接触点的其他元件。

io设备907可以包括音频设备。音频设备可以包括扬声器和/或麦克风,以便于实现诸如语音识别、语音复制、数字记录和/或电话功能的语音功能。其他io设备907还可以包括通用串行总线(usb)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,pci-pci桥)、传感器(例如,诸如加速度计、陀螺仪、磁力计、光传感器、指南针、近距离传感器等的运动传感器)或其组合。设备907还可以包括成像处理子系统(例如,相机),其可以包括诸如电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)的光学传感器,用于实现相机功能诸如记录照片和视频剪辑。某些传感器可以经由传感器集线器(未示出)耦合到互连910,而诸如键盘或热传感器的其他设备可由嵌入式控制器(未示出)来控制,这取决于系统900的具体配置或设计。

为了将诸如数据、应用程序、一个或多个操作系统等的信息提供至永久存储器,大容量存储器(未示出)也可以耦合到处理器901。在各种实施例中,为了实现更薄和更轻的系统设计以及为了提高系统响应性,可以通过固态设备(ssd)来实现该大容量存储器。然而,在其他实施例中,大容量存储器可以主要使用具有用作ssd缓存的较少量ssd存储的硬盘驱动器(hdd)来实现,以在断电事件期间实现情景状态和其他此类信息的非易失性存储,以便在重新启动系统活动时可以实现快速上电。此外,闪存设备可以例如经由串行外设接口(spi)耦合到处理器901。该闪存设备可以提供系统软件的非易失性存储,包括bios以及系统的其他固件。

存储设备908可以包括计算机可访问的存储介质909(也称为机器可读存储介质或计算机可读介质),在其上存储有包含本文所述的任何一种或多种方法或功能在内的一组或多组指令或软件(例如,模块、单元和/或逻辑928)。处理模块/单元/逻辑928可以表示上述任何组件,例如规划模块304、控制模块305或行程规划模块306。处理模块/单元/逻辑928也可以,在由数据处理系统900执行期间,完全地或至少部分地驻留在存储器903和/或处理器901内,存储器903和处理器901也构成机器可访问的存储介质。处理模块/单元/逻辑928还可以经由网络接口设备905通过网络被传送或接收。

计算机可读存储介质909也可用于永久地存储上述的一些软件功能。尽管计算机可读存储介质909在示例性实施例中示出为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。术语“计算机可读存储介质”还应被视为包括能够存储或编码一组指令以供机器执行并且使机器执行本发明的任何一种或多种方法的任何介质。因此,术语“计算机可读存储介质”应被认为包括但不限于固态存储器、光学和磁性介质或任何其他非暂时性的机器可读介质。

本文描述的处理模块/单元/逻辑928、组件和其他特征可以实现为分立硬件组件或集成在诸如asic、fpga、dsp或类似设备的硬件组件的功能中。此外,处理模块/单元/逻辑928可以被实现为硬件设备内的固件或功能电路。此外,处理模块/单元/逻辑928可以在硬件设备和软件组件的任何组合中实现。

需要注意的是,虽然系统900被示出为具有数据处理系统的各种组件,但是它并不旨在表示将组件互连的任何特定架构或方式,因为这样的细节与本发明的实施例并无必要联系。还应理解,具有较少组件或更多组件的网络计算机、手持计算机、移动电话、服务器和/或其他数据处理系统也可以与本发明的实施例一起使用。

前面详细描述的一些部分已经根据对计算机存储器内的数据位上的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员所使用的最有效地将其工作的实质传达给本领域其他技术人员的方式。算法在本文中,通常被认为是引向期望结果的自洽的操作序列。这些操作是需要对物理量进行物理操作的操作。

然而应该考虑到,所有这些以及类似的术语都应该与适当的物理量相关联,并且仅仅是适用于这些量的便利标签。除非另有明确说明,否则从上述讨论中显而易见的是,应理解在整个说明书中,使用诸如所附权利要求中叙述的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。

本发明的实施例还涉及用于执行本文中的操作的装置。这样的计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光存储介质、闪存设备)。

前面附图中描述的过程或方法可以由包括硬件(例如电路、专用逻辑等)、软件(例如,包含在非暂时性计算机可读介质上)或两者的组合的处理逻辑执行。虽然以上根据一些顺序的操作描述了过程或方法,但是应当理解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行而不是顺序执行。

本发明的实施例没有参考任何特定的编程语言进行描述。应当理解,可以使用各种编程语言来实现本文所述的本发明的实施例的教导。

在前述说明书中,已经参照本发明的具体示例性实施例描述了本发明的实施例。显而易见的是,在不脱离如所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对本发明进行各种修改。因此,说明书和附图应被看作是说明性的而非限制性的。

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